私TREIDはdataAceess層でのHttpContextを使用するが、私は使用するHttpContext
HttpContext httpContext = HttpContext.Current;
は、私は、WebアプリケーションとliberyプロジェクトをクリートのHttpContextからオブジェクトをクリートカントと私はliberyプロジェクトでのHttpContextを使用したいですこのように:
public static Context GetContextPerRequest()
{
HttpContext httpContext = HttpContext.Current;
if (httpContext == null)
{
return new Context();
}
else
{
int contextId = Thread.CurrentContext.ContextID;
int hashCode = httpContext.GetHashCode();
string key = string.Concat(hashCode, contextId);
Context context = httpContext.Items[key] as Context;
if (context == null)
{
context = new Context();
httpContext.Items[key] = context;
}
return context;
}
}
私はあなたのプレゼンテーション層からHttpContext.Current
を解析し、以下のようにあなたの方法を変更することができます.NET 4.
にGetContextPerRequest()からオブジェクトを作ります。これを行うと、 "データアクセスレイヤー"とASP.NET Webアプリケーションのみが強く結びついています。 WCFサービスまたはWPFアプリケーション...私はこれを本当に、本当に悪いデザインと考えています... –
最も簡単な解決策は、System.Webへの参照を追加することです –