问题标签 [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.

0 投票
1 回答
2411 浏览

configuration - Autofac 配置验证

Autofac 是否有等效于 StructureMap 的AssertConfigurationIsValid方法?还是在创建容器时进行配置验证?

我相信AssertConfigurationIsValid方法检查容器是否可以创建所有已配置的服务。显然,它无法发现更细微的配置错误——例如与范围相关的错误——但很高兴知道我们正在尽我们所能来防止可能在运行时出现的问题。

0 投票
2 回答
2890 浏览

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,我不知道从哪里可以得到它。有任何想法吗 ?

提前致谢。

0 投票
2 回答
8050 浏览

nhibernate - 使用 Autofac 管理 NHibernate ISession

关于 Autofac 如何帮助管理 NHibernate ISession 实例(对于 ASP.NET MVC 应用程序),是否有人有任何提示或最佳实践?

0 投票
1 回答
900 浏览

.net - 没有 DependencyAttribute 的寄存器类型的自动注入属性

在 autofac 你可以做

为了这。

有没有统一的扩展来做到这一点?或者可能是我可以用作示例以自己实现此功能的扩展?

0 投票
2 回答
1781 浏览

c# - 错误:创建委托不能在 Autofac 中返回 null?

在我的项目中,我使用的是 Autofac。以前它工作正常。现在我在 Autofac 中添加了一些新代码,它给了我“创建委托不能返回 null ”错误。

我所做的更改如下

现在在我正在解决Global.asax的方法中。Applicaiton_PostAuthenticate()TestPermissionHelper

有趣的是,当我点击登录页面时,它给了我错误,否则它工作正常。

我知道很难从这个小代码中理解整个画面。如果有人至少可以告诉我,一般来说这种错误的可能原因是什么,那就太好了。

谢谢

注意:如果有帮助,我也会给出错误的堆栈跟踪

0 投票
1 回答
1336 浏览

autofac - autofac如何使用构造函数参数返回服务?

我正在使用以下这些测试 Autofac 容器:

命令处理程序实现有一个带有存储库参数的 ctor。

当我运行它时,我得到了这个异常:

为什么会吐?我清楚地将该处理程序与存储库注册为 ctor 参数。

谢谢

0 投票
1 回答
8020 浏览

c# - autofac的函数解析命名服务

给定注册服务:

我可以IFoo通过注入类似的东西来检索接口的命名实现Func<string, IFoo>吗?

我知道我可以用它来做Meta<>,但我不想用它。

0 投票
1 回答
765 浏览

mef - MEF 部分无法导入 Autofac 自动生成的工厂

这是一个(对我来说)非常奇怪的问题,因为它已经运行得很完美,但在一些不相关的更改之后完全向南运行。

我有一个Repositorywhich 在其构造函数中导入了IExtensions通过 Autofacs MEF 集成的列表。这些扩展之一包含对Repositoryas的反向引用Lazy(Of IRepository)(由于会发生循环引用而变得懒惰)。

但是,一旦我尝试使用存储库,Autofac 就会抛出一条ComponentNotRegisteredException消息“请求的服务'ContractName=Assembly.IRepository()' 尚未注册。”

然而,这并不完全正确,因为当我在容器构建后立即中断并探索服务列表时,它就在那里 - Exported() 并具有正确的 ContractName。

我会很感激这方面的任何帮助......
迈克尔

[编辑] 这是代码的精简版本:

存储库

插入

引导程序

0 投票
1 回答
1574 浏览

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) ' 在请求实例的范围内可见。

0 投票
1 回答
607 浏览

wcf - 使用 Autofac 解决对数据模型的依赖

我在创建数据服务并使用 Autofac WCF 集成来解决对我的数据模型的依赖时遇到了问题。注册形式如下:

MyModel 依赖于 MyProvider

由于与我的应用程序相关的原因,此提供程序在请求范围中注册时出现问题。

很明显,请求容器是在每个 ASP.Net 请求上创建和处理的。

但是,MyModel 和 MyService 注册在 Application 范围内。我想出了两种可能的解决方案-

  1. 更改提供者的范围(不可能,因为必须改造几乎整个应用程序)
  2. 在请求范围内注册服务和模型(不知道这是否可能,如果完全正确,是否正确)

任何意见/建议表示赞赏。谢谢。