使用 Unity XML 设置属性
我想在存储库类中设置实体框架 ObjectContext - ObjectContext 是存储库的属性。
我正在使用 Unity XML 配置:
<register type="IUsersRepository" mapTo="SqlUsersRepository" >
<property name="MyObjectContext">
<value value="Per-Request" typeConverter="ObjectContextTypeConverter" />
</property>
</register>
ObjectContextTypeConverter 解释属性的值 - 在本例中为“Per-Request” - 并使用存储在 HttpContext.Current.Items(asp.net 中的每个请求集合)中的 ObjectContext。
仅当在 Global.asax 文件的 Application_Start 方法中加载 Unity 配置时,才会调用 ObjectContextTypeConverter.ConvertFrom 方法。然而,当我尝试使用 Unity 解析接口时,不会再次调用 ConvertFrom 方法。
有办法解决这个问题吗?
I want to set the Entity Framework ObjectContext in a repository class - the ObjectContext being a property of the repository.
I am using Unity XML configuration:
<register type="IUsersRepository" mapTo="SqlUsersRepository" >
<property name="MyObjectContext">
<value value="Per-Request" typeConverter="ObjectContextTypeConverter" />
</property>
</register>
The ObjectContextTypeConverter interprets the value of the property - in this case "Per-Request" - and uses an ObjectContext stored in HttpContext.Current.Items (a per request collection in asp.net).
The ObjectContextTypeConverter.ConvertFrom method is only called once when the Unity configurations is loaded in the Application_Start method of the Global.asax file. Yet when I try to resolve an interface using Unity - the ConvertFrom method won't be called again.
Is there a way to solve this problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
原因是您将其设置为一个值。您可以将其设置为依赖项:
并通过注入工厂注入上下文:
The reason is that you're setting it as a value. You can set it as a dependency:
and inject the context through an in injection factory: