问题标签 [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 回答
2213 浏览

asmx - 使用 Autofac 2.1.12 解析 ASMX 中的 HttpRequestScoped 服务

描述我有一个遗留类型HttpRequestScoped和一个使用该服务的遗留 Web 服务。为了解决遗留问题中的服务,我有一个全局解析器。这一切在 1.4 中运行良好,现在我正在使用 2.1.12 我正在体验DependencyResolutionException.

代码在 2.1.12 中,我的 Global.asax.cs:

Setup.Resolver 是一个单例,它被设置为 AutofacResolver,看起来像这样:

Web 服务如下所示:

异常调用以下异常时Setup.Resolver.Get<SomeLegacyType>()

附带问题有没有更好的方法在 ASMX 中注入属性,就像我的 ASPX 页面被注入(而不是使用Setup.Resolver)一样?AttributedInjectionModule由于遗留问题,我使用了。该模块似乎不适用于 ASMX。

0 投票
1 回答
629 浏览

c# - 无法使用 Autofac 解析 NameValueCollection

我正在使用 Autofac 2.1.12 来处理我的依赖注入,并且遇到了一个特定问题。我似乎无法解决 NameValueCollection 依赖项。

考虑以下代码片段:

它将因未处理的 DependencyResolutionException 而崩溃:

检测到循环组件依赖项:Foo -> System.Collections.Specialized.NameValueCollection -> System.Collections.Specialized.NameValueCollection。

但是,如果我将 NameValueCollection 替换为任何其他类型,则代码可以正常工作。

我做错了什么,我缺少的 NameValueCollection 类型有什么特别之处,还是 Autofac 本身的问题?

0 投票
2 回答
461 浏览

asp.net - autofac 的 ASP.NET 集成是否/将支持 PreInit 或 Init 事件?

我从 1.4.4 源代码中看到 Autofac 的 ASP.NET 集成(通过 Autofac.Integration.Web)PageHttpContext.PreRequestHandlerExecute事件处理中执行属性注入,但是页面的子控件没有获取它们的属性注入直到Page.PreLoad.

这意味着,虽然子控件的注入属性不能在 OnInit 事件处理程序中使用。

例如,这很好用:

但是将 HelloWorld 更改PageUserControl(.acsx) 并将 UserControl 放在另一个页面中不起作用,因为_msgProvider没有足够早地注入。

有没有办法让 Autofac 更早地注入子控件的属性?或者这是可以在未来构建中解决的问题?谢谢!

0 投票
1 回答
774 浏览

wcf - Autofac Wcf 集成安全问题

我创建了一个 Wcf 服务来支持 Ajax 页面 (.Net 3.5)。它托管在 IIS 6.1 集成管道中。(Autofac 的其余部分已为 Web 表单集成正确设置)。

使用正常的 Wcf 管道,一切正常且花花公子。但是,当我插入 Autofac Wcf 集成(根据 Autofac wiki)时,我得到了这个令人愉快的异常:

[SecurityException:该程序集不允许部分受信任的调用者。] Autofac.Integration.Wcf.AutofacHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses) 在 c:\Working\Autofac\src\Source\Autofac.Integration.Wcf\AutofacHostFactory .cs:78 System.ServiceModel.HostingManager.CreateService(String normalizedVirtualPath) +604 System.ServiceModel.HostingManager.ActivateService(String normalizedVirtualPath) +46 System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath) +654

我的 Google-fu 未能找到解决此问题的方法。任何见解或解决方法将不胜感激。

0 投票
2 回答
3517 浏览

asp.net - RenderAction 在当前区域的当前控制器中找不到动作方法

我正在创建一个使用区域的 ASP.NET MVC 2 (RTM) 项目。一个区域的 Home 控制器的 Index 动作需要使用 RenderAction 来生成页面的子部分。调用的动作也在同一个 Home 控制器中定义。所以调用应该是:

但是,我得到一个例外:

在控制器“RareBridge.Web.Areas.Events.Controllers.HomeController”上找不到公共操作方法“List”。

请注意,我不在“活动”区域!我在一个完全不同的领域。如果我删除“事件”主控制器,那么异常仍然会发生,但会命名一个不同的控制器(仍然不是我希望它调用的那个)。

我也尝试将控制器名称和区域提供给 RenderAction 方法,但发生了同样的异常。这里发生了什么?

顺便说一句:我使用 Autofac 作为我的 IoC 容器

0 投票
2 回答
6950 浏览

inversion-of-control - 基于构造函数参数属性使用autofac解决依赖关系

我正在使用 Autofac。我想根据应用于构造函数参数的属性注入不同的依赖项实现。例如:

属性将提供数据,例如连接字符串,我可以用它来实例化正确的对象。

我怎样才能做到这一点?

0 投票
2 回答
283 浏览

asp.net-mvc - Asp.net mvc 2中的Autofac

我想/需要用 asp.net mvc 2 网站编译 autofac。我想通过源代码来看看它是如何工作的。但这是我的问题。mvc dll 的二进制文件显然是为 asp.net mvc 1 绑定的。我无法确定.Net 3.5 和 asp.net mvc 2 的项目文件的设置需要什么。一个是 NET35 指令,但我仍然得到不是类型的错误。

0 投票
1 回答
950 浏览

.net - 如果支持方法拦截,是否使用 Autofac 实施审计?

我计划在我必须实施审计的项目中使用 Autofac IoC(谁,在应用程序中做什么)。我已经阅读了很多关于这个主题的文章(审计)。我的意图是使用方法拦截来实现这个功能。我知道 Unity 支持这一点,但我想知道我是否可以在这种情况下使用 Autofac?

0 投票
1 回答
502 浏览

asp.net - Autofac:从 SingleInstance'd 类型到 HttpRequestScoped 的引用

我有一个应用程序,其中共享对象需要对每个请求对象的引用。

如果我尝试将IExtensions直接注入 的构造函数Engine,即使是Lazy(Of IExtension),我也会得到“在请求实例的范围内没有可见范围匹配 [Request]”。当它尝试实例化每个IExtension.

如何创建 HttpRequestScoped 实例,然后将其注入共享实例?

将其设置在Request' 工厂中(并因此注入Engine)是否被认为是一种好习惯RequestFactory

0 投票
2 回答
2947 浏览

c# - 使用 autofac 和 dynamicproxy2 选择性拦截方法

我目前正在使用 Autofac-1.4.5.676、autofac contrib 和 castle DynamicProxy2 进行一些试验。目标是创建一个粗粒度分析器,可以拦截对特定接口的特定方法的调用。

问题:除了选择性部分之外,我的一切都完美无缺。我可能是错的,但我认为我需要将我的拦截器与 IProxyGenerationHook 实现结合起来,但我不知道如何做到这一点。

我的代码看起来像这样:

被截取&剖析的接口(注意我只关心剖析Update()方法)

现在,当我向容器注册我的系统时,我执行以下操作:

所有从容器中拉出的 ISomeSystemToMonitor 实例都会根据需要被拦截和分析,除了它会拦截其所有方法,而不仅仅是 Update 方法。

现在,如何扩展它以排除 Update() 以外的所有方法?正如我所说,我不明白我要如何通知容器“对于 ProfileInterceptor,使用 IProxyHookGenerator 的这个实现”。

所有帮助表示赞赏,干杯!另外,请注意我现在无法升级到 autofac2.x;我被困在1。