我是 MEF 的新手,我一直习惯使用 autofac,它会在请求的生命周期范围内自动注册所有“Web 请求”范围的对象,因此您始终可以在依赖项中解析 HttpRequestBase 和类似对象.
有没有办法修改 MEF 容器注册以解决这种依赖关系?
[Export(typeof(ICustomerContext))]
public class WebCustomerContext : ICustomerContext
{
private readonly HttpRequestBase request;
[ImportingConstructor]
public WebCustomerContext(HttpRequestBase request)
{
this.request = request;
}
}
最佳答案
我认为如果您使用 NonShared
创建策略导出您的部分,您将获得您想要的行为。这样,将为每个请求创建该部分的一个新实例:
[PartCreationPolicy(ComponentModel.Composition.CreationPolicy.NonShared)]
关于c# - 在 MEF 中解析 HttpRequestBase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19907812/