ライブ・ステージでエンティティ・フレームワーク(バージョン6)によってスローされた異なる例外を数日間記録しています。接続。 'のConnectionString' プロパティを変更することはできませんエンティティ・フレームワーク:時折異なる接続の問題が発生する
。 接続の現在の状態は閉じられています。
モデルの作成中にコンテキストを使用することはできません。この コンテキストが のOnModelCreatingメソッドの内部で使用されている場合、または複数のスレッドが同時に によって同じコンテキストインスタンスにアクセスされている場合、例外がスローされることがあります。 DbContext のインスタンスメンバーおよび関連するクラスは、スレッドセーフであることは保証されていないことに注意してください。
予期しない接続状態。ラッピングプロバイダを使用する場合、 は、StateChangeイベントがラップされたDbConnectionに実装されていることを確認してください。
オープンしているプロバイダは、失敗しました。
我々は何も変更し、既にこれらのエラーのみ時々起こる言ったことを覚えていないことができます。現地では再現できません。
誰かが間違っていることや調査方法を知っていますか?
編集:これは、インスタント化のためにUnity IoCを使用するASP.NET MVC 5アプリケーションです。私たちは、他のmvcアプリケーションでは絶対に滑らかに動作する自己記述PerRequestLifeTimeManagerを使用します。
に沿ってすべてのステップは、あなたは、このエラーが表示されているコードの一部を共有することはできますか?エラーがポップアップするパターンやユースケースを特定できましたか?どのコード行に例外がスローされたかを示すアプリケーションログがありますか? –
私はあなたが間違った方法で文脈を使っていると確信しています。おそらく静的メンバーとしてではありますが、確かにそれらが複数のスレッドからアクセスできるようになります。リファクタリング時間! –
コードなしで言うことは不可能です。しかし、私は@GertArnoldに同意する傾向があります。リクエストごとにコンテキストインスタンスが1つだけ必要です。要求ごとに複数のインスタンスを新しく作成している場合や、逆に静的にまたはシングルトンなどを使用している場合は、問題が発生します。 –