2009-07-17 2 views
0

私たちのアプリケーションは、リックによって言及されたKeyの改訂を含むblogにRick Strahlによって概要が示されたDataContextFactoryクラスを使用して、Thread/HttpContextごとにDataContextを維持するアプローチに従います(type.AssemblyQualifiedName )。Scoped DataContextは間欠的にExecuteReaderエラーを発生させます

溶液は、私はアプリケーションに現れる間欠エラーを見ているが、これを使用している間、(ほとんどの場合、異なるアプローチが良いかもしれないが)音登場:

のExecuteReaderはオープンと が利用可能な接続を必要とします。接続の 現在の状態は閉じられています。

私は以下のプロパティを使用して、コード全体のDataContextにアクセスし、それは私のDataContextのクラスの一部です:

/// <summary> 
/// Returns the current datacontext for the thread or HttpContext, creating one if it does not exist. 
/// </summary> 
public static SharedDataContext Current 
{ 
    get 
    { 
     return DataContextFactory.GetScopedDataContext<SharedDataContext>(); 
    } 
} 

は、私はこれをダウンピン留めに苦労していintermittmentビーイング。誰かが私が間違っていることを知っているか、この問題をどのようにデバッグできるかを知っていますか?


注これは、おそらく我々は今、トランザクションごとのdatacontextsを維持カスタムDataContextFactoryを使う未回答質問here

答えて

0

の重複である可能性があります。その他の主な変更点は、Thread.Get/SetDataを使用して手動でアクセスするのではなく、[ThreadStatic]をプロパティに使用することでした。

この変更により、この問題は発生しなくなり、私は解決策として[ThreadStatic]を提案しています

関連する問題