问题标签 [autofac]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
autofac - Autofac 会话范围
我正在调查我们的 Web 应用程序中 Autofac 的使用,过去曾使用过 Castle Windsor。
我真正喜欢 Autofac 的一点是能够通过 lamda 表达式表达动态组件构造,而不是在 Windsor 中创建 DependancyResolvers 等。
我遇到的一种情况是我希望在 ASP.NET 会话级别范围内注册特定组件。使用 Windsor 我会创建/获取一个新的 LifestyleManager,但是使用 Autofac 我想出了这个:
在某些时候我可能会变成一种扩展方法。如果 HttpContext.Current.Session 为空,我接受这个实现会爆炸,因为它应该只在网络应用程序中使用。
问题是:
在 Autofac 中进行此类注册的最佳做法是什么。我看到很多关于使用嵌套容器等的提及,但没有具体的例子,我很想了解上述方法可能有什么问题(我唯一能想到的就是自动处理的东西)。
谢谢。
c# - Autofac:解析类型的所有实例
鉴于以下注册
我希望将 I 类型的所有实例解析为IEnumerable
(数组或集合无关紧要)。
在温莎,我会写以下内容。
我正在从 Windsor 迁移到 Autofac 1.4.4.561,但看不到等效语法。
.net - Autofac 是否有*可选* Xml 配置的最佳实践?
背景:我想向其他一些开发人员分发一个库(类似于 SDK 或抽象一些内部 Web 服务的工具包)。我使用 Autofac 来注入不同版本的底层服务,主要用于存根。我想将此程序集分发给广泛的开发人员:了解 IoC 的用户和不了解 IoC 的用户。
对于任何精明的开发人员,他们可以创建自己的实现来注入。否则,开发人员应该能够使用没有配置的程序集,并且永远不知道或关心 IoC 正在幕后发生。
有趣的东西:我可以为 Autofac 提供 Xml 配置,或者我可以以编程方式配置组件(后者是首选方法)。在这种情况下,直到运行时我才知道配置了什么,因此可能需要 Xml 配置。有没有办法让 Autofac 使用 Xml 配置(如果存在),如果没有提供则忽略它?
注意:我可以通过检查特定部分(“autofac”)的配置来手动实现这一点;如果它不存在,那么不要打电话
有没有比手动检查配置更好的方法(最好是隐藏在 Autofac 中的神奇东西,因为它似乎可以做任何你要求的事情!)
dependency-injection - 运行时指定的具有开放泛型和类型的 Autofac
文档指出 Autofac 支持开放泛型,我可以在基本情况下注册和解析,如下所示:
登记:
解决:
上面的代码工作得很好。但是,假设我直到运行时才知道提供给 IFlatener 的类型,我想做这样的事情:
AutoFac 可以做到这一点吗?我使用 StructureMap 从以下内容中得到了这个想法:
http://structuremap.sourceforge.net/Generics.htm
我正在努力实现本文中概述的相同目标。
autofac - Autofac 组件注册/解析错误?
我似乎有一个问题——相当出乎意料;所以我想我可能在做一些愚蠢/错误的事情。
我这样注册了两个容器范围的服务:
现在当我尝试解决
我得到了同样的例子。我希望第一次调用返回第一个实例,第二次调用返回第二个实例。为什么会这样?
我希望这里有一些活跃的 Autofac 专家,如果能帮助我快速解决这个问题,我将不胜感激。
谢谢大家!
inversion-of-control - 管理 autofac 容器设置
我的一位团队成员决定在我们的一项服务上使用 autofac,因为我们想尝试一下,所以我们坚持使用它。
现在已经过去了一段时间,容器设置方法已经增长!它太大了,以至于我们遇到了问题。
拆分它并没有带来我们想要的结果。也许我们只是用错了。
所以我的问题是:我们如何管理容器设置?我们可以转储到 XML 中还是有任何其他最佳实践?
inversion-of-control - AutoFac 自动装配约定
StructureMap 能够在扫描时应用约定。因此 IFoo => Foo,没有显式注册。
AutoFac 中是否有类似的功能?环顾四周,找不到任何有用的东西。
谢谢,
asp.net-mvc - NHibernate 与 ASP.NET (MVC) 中的 Autofac:ITransaction
在 Web 应用程序中使用 Autofac 管理 NHibernate 事务的最佳方法是什么?
我的会话方法是
对于ITransaction
,我在 Google Code 上找到了一个示例,但它依赖于HttpContext.Current.Error
决定是否回滚。
有更好的解决方案吗?NHibernate 事务应该有什么范围?
asp.net-mvc - 对自定义 ViewPage 的依赖注入会产生奇怪的错误
我正在尝试将东西注入自定义 ViewPage(ModelViewPage,来自 MvcContrib)
我的 Autofac 注册看起来像这样:
但是当我尝试访问视图时出现此错误:
我一无所知,但后来我查看了 App_Web_edit.aspx.b2d4184a.thgwih90.0.cs 并发现了这个:
当然,生成的类views_skadeanmälan_edit_aspx 继承自我的UKFS.Web.Views.ValidatedModelViewPage,当它尝试使用默认构造对其进行实例化时.. 你能解决它吗?