Я использую следующий код начальной загрузки Structuremap для моей структуры сущностей 4:
x.For<XEntities>().LifecycleIs(Lifecycles.GetLifecycle(InstanceScope.PerRequest)).Use(() => new XEntities());
Но когда я делаю два почти одновременных запроса, я получаю следующее исключение:
EntityException:The underlying provider failed on Open.
{"The connection was not closed. The connection's current state is connecting."}
Я использую ASP.NET MVC 2, в моем Application_Start () есть следующее
EndRequest + = новый EventHandler (MvcApplication_EndRequest);
void MvcApplication_EndRequest(object sender, EventArgs e)
{
ObjectFactory.ReleaseAndDisposeAllHttpScopedObjects();
}
Что я могу сделать, чтобы это исправить?
[править]
это происходит на странице с несколькими изображениями. Изображения поступают из базы данных и обслуживаются действием контроллера, которое считывает изображение из базы данных и отправляет его в виде файла в браузер. Я думаю, что asp.net нарушает мой объектный контекст и закрывает мое соединение с БД, когда поступают запросы на изображения и выдается исключение.
То, что мне сейчас нужно, - это правильный способ правильно управлять временем жизни контекста объекта.