c# - 在 MEF 中解析 HttpRequestBase

标签 c# asp.net-mvc mef mef2

我是 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/

相关文章:

c# - 用于创建自定义自动递增(或自动递减)标识的 DataAnnotation

asp.net-mvc - 如何在 .net MVC 中创建安全的每个 Web 请求事务?

c# - MEF 组合错误未传播内部异常(通过消息除外)

c# - 如何在asp.net应用程序中使用命名空间?

c# - String.Format() 问题

javascript - Razor 模板到 javascript 字符串

c# - 跨应用域访问配置文件

c# - 读取excel空/空白值

c# - 如何返回用户在 PC 中使用的当前文化

c# - 使用 Reactive Extensions 的事件聚合器问题