scoped datacontextは、断続的にエグゼクティブリーダーのエラーを引き起こします

StackOverflow https://stackoverflow.com/questions/1144033

質問

私たちのアプリケーションは、スレッド/httpContextあたりのデータコンテキストを維持するアプローチに従います。 ブログ, 、リチャードが言及した鍵の修正を含む(Type.AssemblyQualifiedNameの使用)。

ソリューションは音が表示されます(ほとんどの場合、異なるアプローチが優れている可能性がありますが)が、これを使用している間、アプリケーションに断続的なエラーが表示されています。

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>();
    }
}

断続的であるため、私はこれを固定するのに苦労しています。私が間違っていることを知っている人はいますか、それともこの問題をどのようにデバッグできるのか良い考えを持っていますか?


これは、おそらく重複する可能性があります 未回答 質問 ここ

役に立ちましたか?

解決

次に、データコンテキストごとのトランザクションを維持するカスタムDataContextFactoryを使用します。他の唯一の主な変更は、スレッドを介して手動でアクセスするのではなく、プロパティの[threadstatic]の使用でした。

これが変更されて以来、問題はもはや現れていないようで、他の答えが提示されていないように、私は解決策として[threadstatic]を提案しています

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top