问题标签 [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.
configuration - Autofac 配置验证
Autofac 是否有等效于 StructureMap 的AssertConfigurationIsValid方法?还是在创建容器时进行配置验证?
我相信AssertConfigurationIsValid方法检查容器是否可以创建所有已配置的服务。显然,它无法发现更细微的配置错误——例如与范围相关的错误——但很高兴知道我们正在尽我们所能来防止可能在运行时出现的问题。
wcf - 将 IoC 支持添加到我在 Windows 服务 (Autofac) 中托管的 WCF 服务
我想设置我的 WCF 服务以使用 IoC 容器。Autofac wiki 中有一篇关于 WCF 集成的文章,但它只显示了与 IIS 中托管的服务的集成。
但我的服务托管在 Windows 服务中。
在这里,我得到了一个建议来连接开幕活动 http://groups.google.com/group/autofac/browse_thread/thread/23eb7ff07d8bfa03
我已经听从了建议,这就是我到目前为止所得到的:
AutofacDependencyInjectionServiceBehavior 有一个接受 3 个参数的 ctor。第三个是类型的IComponentRegistration
,我不知道从哪里可以得到它。有任何想法吗 ?
提前致谢。
nhibernate - 使用 Autofac 管理 NHibernate ISession
关于 Autofac 如何帮助管理 NHibernate ISession 实例(对于 ASP.NET MVC 应用程序),是否有人有任何提示或最佳实践?
.net - 没有 DependencyAttribute 的寄存器类型的自动注入属性
在 autofac 你可以做
为了这。
有没有统一的扩展来做到这一点?或者可能是我可以用作示例以自己实现此功能的扩展?
c# - 错误:创建委托不能在 Autofac 中返回 null?
在我的项目中,我使用的是 Autofac。以前它工作正常。现在我在 Autofac 中添加了一些新代码,它给了我“创建委托不能返回 null ”错误。
我所做的更改如下
现在在我正在解决Global.asax
的方法中。Applicaiton_PostAuthenticate()
TestPermissionHelper
有趣的是,当我点击登录页面时,它给了我错误,否则它工作正常。
我知道很难从这个小代码中理解整个画面。如果有人至少可以告诉我,一般来说这种错误的可能原因是什么,那就太好了。
谢谢
注意:如果有帮助,我也会给出错误的堆栈跟踪
autofac - autofac如何使用构造函数参数返回服务?
我正在使用以下这些测试 Autofac 容器:
命令处理程序实现有一个带有存储库参数的 ctor。
当我运行它时,我得到了这个异常:
为什么会吐?我清楚地将该处理程序与存储库注册为 ctor 参数。
谢谢
c# - autofac的函数解析命名服务
给定注册服务:
我可以IFoo
通过注入类似的东西来检索接口的命名实现Func<string, IFoo>
吗?
我知道我可以用它来做Meta<>
,但我不想用它。
mef - MEF 部分无法导入 Autofac 自动生成的工厂
这是一个(对我来说)非常奇怪的问题,因为它已经运行得很完美,但在一些不相关的更改之后完全向南运行。
我有一个Repository
which 在其构造函数中导入了IExtensions
通过 Autofacs MEF 集成的列表。这些扩展之一包含对Repository
as的反向引用Lazy(Of IRepository)
(由于会发生循环引用而变得懒惰)。
但是,一旦我尝试使用存储库,Autofac 就会抛出一条ComponentNotRegisteredException
消息“请求的服务'ContractName=Assembly.IRepository()' 尚未注册。”
然而,这并不完全正确,因为当我在容器构建后立即中断并探索服务列表时,它就在那里 - Exported() 并具有正确的 ContractName。
我会很感激这方面的任何帮助......
迈克尔
[编辑] 这是代码的精简版本:
存储库
插入
引导程序
ioc-container - 在 Autofac 中解析 HttpRequest 之外的 HttpRequestScoped 实例
假设我有一个注册为 HttpRequestScoped 的依赖项,因此每个请求只有一个实例。如何解决 HttpRequest 之外的相同类型的依赖项?
例如:
上面的代码在执行 CacheItemRemoved 处理程序时会抛出 DependencyResolutionException:
没有与表达式匹配的范围 'value(Autofac.Builder.RegistrationBuilder`3+<>c__DisplayClass0[MyApp.Core.Data.MyDataContext,Autofac.Builder.SimpleActivatorData,Autofac.Builder.SingleRegistrationStyle]).lifetimeScopeTag.Equals(scope.Tag) ' 在请求实例的范围内可见。
wcf - 使用 Autofac 解决对数据模型的依赖
我在创建数据服务并使用 Autofac WCF 集成来解决对我的数据模型的依赖时遇到了问题。注册形式如下:
MyModel 依赖于 MyProvider
由于与我的应用程序相关的原因,此提供程序在请求范围中注册时出现问题。
很明显,请求容器是在每个 ASP.Net 请求上创建和处理的。
但是,MyModel 和 MyService 注册在 Application 范围内。我想出了两种可能的解决方案-
- 更改提供者的范围(不可能,因为必须改造几乎整个应用程序)
- 在请求范围内注册服务和模型(不知道这是否可能,如果完全正确,是否正确)
任何意见/建议表示赞赏。谢谢。