Glass上下文数据库null

鲁德·范·法利尔

在当前的项目中遇到Glass Mapper的问题,之前从未遇到过。
在Sitecore初始化之后,Database我的GlassContext(ISitecoreContext)中属性直接为null。

// After Sitecore initialization, sometimes the glass context database is not initialized yet.
if (this.glassContext == null || this.glassContext.Database == null)
{
    this.glassContext = DependencyInjection.Container.Resolve<ISitecoreContext>();

    // Now I have a valid this.glassContext.Database ...
}

当我向我的DI框架(Windsor,是Glass的默认框架)询问实例时,它将返回一个具有有效Database属性的实例。
暂时,我正在进行此检查,然后再检索任何项目,并且只需要进行一次检查(此检查直到下一次初始化才是好方法),但是我真的很想知道是什么原因造成的。

可能很有趣:所有项目请求(获取项目,转换项目等)都是通过一项服务完成的,该服务ISitecoreContext在其构造函数中进行了初始化。
ItemService具有的生活方式辛格尔顿中,ISitecoreContext有生活方式瞬态

凯文·布希比尔(KevinBrechbühl)

我认为您NewsService是在Sitecore具有有效上下文之前第一次被注入的,因此Glass也不能具有有效上下文(数据库)。因为您ItemService具有Singleton生命周期,所以构造函数仅被调用一次,并且解析ISitecoreContext仅完成一次。这意味着,如果您ItemService在Sitecore具有有效上下文之前第一次得到解决,那么您glassContext将为nullSingleton实例中手动设置glassContext属性后,下一次属性将不会为null(但可能无效,因为您在另一个请求中)。

我建议您将两个依赖项都设置为TransientPerWebRequest

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Glass上下文数据库null

来自分类Dev

Light在MVC中注入数据库上下文

来自分类Dev

静态数据库上下文混乱

来自分类Dev

Linq Sql数据库上下文丢失方法

来自分类Dev

使用不同的上下文访问数据库

来自分类Dev

数据库上下文中缺少GetTable <TEntity>()

来自分类Dev

为什么我的数据库上下文被处置

来自分类Dev

SignalR 和数据库上下文处理

来自分类Dev

使用 SQLite 数据库将适配器 onBindViewHolder itemView 上下文转换为类上下文

来自分类Dev

具有通用数据库上下文的存储库模式

来自分类Dev

CastleWindsor,通用存储库和两个数据库上下文

来自分类Dev

使用存储库模式时的多个数据库上下文

来自分类Dev

哪个是将存储库模式用于数据库上下文的最佳代码?

来自分类Dev

从Entities数据库上下文检索数据时发生ThreadAbortException

来自分类Dev

每次Entity Framework数据库迁移后如何访问上下文

来自分类Dev

首先将现有视图添加到代码中数据库上下文?

来自分类Dev

有使用数据库上下文类的正确方法吗?

来自分类Dev

使用Flask-Restful从应用程序上下文获取数据库连接

来自分类Dev

在Entity Framework中使用DbSet而不是IDbSet模拟数据库上下文类

来自分类Dev

在应用程序上下文之外创建数据库

来自分类Dev

MVC使用上下文在数据库中查找记录

来自分类Dev

自创建数据库以来,支持“ DataContext”上下文的模型已更改

来自分类Dev

TransactionScope下的两个数据库上下文失败

来自分类Dev

使用上下文管理器连接到sqlite3数据库

来自分类Dev

删除多个项目具有数据库的上下文操作模式

来自分类Dev

实体框架多上下文和Microsoft Azure。如何更新数据库?

来自分类Dev

如何结合多个Talend上下文?(例如,不同的数据库连接)

来自分类Dev

在ASP.Net MVC中合并多个数据库上下文

来自分类Dev

OrientDB在上下文错误中找不到数据库实例?

Related 相关文章

  1. 1

    Glass上下文数据库null

  2. 2

    Light在MVC中注入数据库上下文

  3. 3

    静态数据库上下文混乱

  4. 4

    Linq Sql数据库上下文丢失方法

  5. 5

    使用不同的上下文访问数据库

  6. 6

    数据库上下文中缺少GetTable <TEntity>()

  7. 7

    为什么我的数据库上下文被处置

  8. 8

    SignalR 和数据库上下文处理

  9. 9

    使用 SQLite 数据库将适配器 onBindViewHolder itemView 上下文转换为类上下文

  10. 10

    具有通用数据库上下文的存储库模式

  11. 11

    CastleWindsor,通用存储库和两个数据库上下文

  12. 12

    使用存储库模式时的多个数据库上下文

  13. 13

    哪个是将存储库模式用于数据库上下文的最佳代码?

  14. 14

    从Entities数据库上下文检索数据时发生ThreadAbortException

  15. 15

    每次Entity Framework数据库迁移后如何访问上下文

  16. 16

    首先将现有视图添加到代码中数据库上下文?

  17. 17

    有使用数据库上下文类的正确方法吗?

  18. 18

    使用Flask-Restful从应用程序上下文获取数据库连接

  19. 19

    在Entity Framework中使用DbSet而不是IDbSet模拟数据库上下文类

  20. 20

    在应用程序上下文之外创建数据库

  21. 21

    MVC使用上下文在数据库中查找记录

  22. 22

    自创建数据库以来,支持“ DataContext”上下文的模型已更改

  23. 23

    TransactionScope下的两个数据库上下文失败

  24. 24

    使用上下文管理器连接到sqlite3数据库

  25. 25

    删除多个项目具有数据库的上下文操作模式

  26. 26

    实体框架多上下文和Microsoft Azure。如何更新数据库?

  27. 27

    如何结合多个Talend上下文?(例如,不同的数据库连接)

  28. 28

    在ASP.Net MVC中合并多个数据库上下文

  29. 29

    OrientDB在上下文错误中找不到数据库实例?

热门标签

归档