我对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;
}
}
答案 0 :(得分:0)
我认为如果使用NonShared
创建政策导出零件,您将获得所需的行为。这样,将为每个请求创建一个新的部件实例:
[PartCreationPolicy(ComponentModel.Composition.CreationPolicy.NonShared)]