Разрешение HttpRequestBase в MEF

Я довольно новичок в MEF, я всегда использовал autofac, который автоматически регистрирует все объекты, находящиеся в области "веб-запроса", в жизненном объеме запроса, поэтому вы всегда можете разрешить HttpRequestBase и подобные объекты в зависимостях.

Есть ли способ изменить регистрацию контейнера MEF, чтобы можно было разрешить эту зависимость?

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

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

1 ответ

Я думаю, что вы получите желаемое поведение, если вы экспортируете свою часть, используя NonShared политика создания. Таким образом, новый экземпляр детали будет создан для каждого запроса:

[PartCreationPolicy(ComponentModel.Composition.CreationPolicy.NonShared)]
Другие вопросы по тегам