2011-07-31 7 views
0

Tipically自分のアプリケーションの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で行われたことと同様の解決策を持っていました。

サービスリクエストのデータコンテキストはどこで保存できますか?

答えて

1

OperationContextIExtensionの実装を作成する必要があります。 Here is some exampleこれを行う方法。

関連する問題