Как правило, модель EF моего приложения используется самим веб-сайтом, поэтому я использую следующий метод расширения для предоставления контекста на время запроса:
public static class HttpContextExtensions
{
internal const string _contextDataKey = "dataContext";
public static EntityDataModelContext GetDataContext(this HttpContext httpContext)
{
if (httpContext == null) // services
return new EntityDataModelContext();
if (httpContext.Items[_contextDataKey] == null)
httpContext.Items.Add(_contextDataKey, new EntityDataModelContext());
return (EntityDataModelContext)httpContext.Items[_contextDataKey];
}
}
Когда недавно созданная служба WCF попыталасьПолучив контекст данных, я наткнулся на тот факт, что служба не содержит HttpContext
в моем приложении.
Теперь решение, которое я здесь представил, «работает», но я бы предпочел решение, аналогичное тому, которое былосделано с HttpContext
.
Где я могу сохранить контекст данных для запроса на обслуживание?