在MEF中解析HttpRequestBase

时间:2013-11-11 13:39:39

标签: c# asp.net-mvc mef mef2

我对MEF很新,我总是习惯使用autofac,它会自动在Request的生命周期范围内注册所有“Web Request”范围内的对象,因此您可以随时解析HttpRequestBase和依赖项中的类似对象

有没有办法修改MEF容器注册才能解决这种依赖?

[Export(typeof(ICustomerContext))]
public class WebCustomerContext : ICustomerContext
{
   private readonly HttpRequestBase request;

   [ImportingConstructor]
   public WebCustomerContext(HttpRequestBase request)
   {
            this.request = request;
   }
}

1 个答案:

答案 0 :(得分:0)

我认为如果使用NonShared创建政策导出零件,您将获得所需的行为。这样,将为每个请求创建一个新的部件实例:

[PartCreationPolicy(ComponentModel.Composition.CreationPolicy.NonShared)]