3

我对 MEF 很陌生,我一直使用 autofac,它会在请求的生命周期范围内自动注册所有“Web 请求”范围的对象,因此您始终可以解析 HttpRequestBase 和依赖项中的类似对象。

有没有办法修改 MEF 容器注册以解决这种依赖关系?

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

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

1 回答 1

0

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

[PartCreationPolicy(ComponentModel.Composition.CreationPolicy.NonShared)]
于 2013-11-11T18:31:26.960 回答