Autofac - InstancePerHttpRequest模糊调用

时间:2012-11-16 09:14:10

标签: asp.net-mvc-3 autofac

我需要在我的MVC3项目中引用Autofac.Integration.MvcAutofac.Integration.Web dll,并且遇到以下与InstancePerHttpRequest()方法的命名冲突:

  

此调用在Autofac.Integration.Mvc和Autofac.Integration.Web之间不明确

我需要引用两个dll,因为我的项目是MVC3,但元素正在集成SQL SSRS报告,因为需要ReportViewer控制才需要使用ASPX页面。我需要解析我的服务类,以便从我的APSX代码中调用功能。请问我是如何解决这个命名冲突的,或者这完全不兼容?

1 个答案:

答案 0 :(得分:2)

InstancePerHttpRequest是一种扩展方法,因此它在类Autofac.Integration.Web.RegistrationExtensionsAutofac.Integration.Mvc.RegistrationExtensions中被声明为常规静态方法。

解决方案是明确调用该方法:

Autofac.Integration.Web.RegistrationExtensions
         .InstancePerHttpRequest(yourBuilder.Register(c => ...)

或者只包含这两个名称空间中的一个(它不是引起歧义的引用):

using Autofac.Integration.Web;
using Autofac.Integration.Mvc;