1

アプリを監視するために新しい遺物を使用していますが、このエラーがかなり頻繁に発生しており、追跡するのに苦労しています。

System.Data.SqlClient.SqlException : PRIMARY KEY 制約 'PK_ ASPStateTempSess _267ABA7A' の違反。オブジェクト 'dbo.ASPStateTempSessions' に重複するキーを挿入できません。ステートメントは終了されました。

根本的な原因を見つけることができれば簡単な修正のように思えます。挿入する前に主キーが存在しないことを確認するだけですが、これは変更できるかどうかわからないデフォルトの機能のようです。言及されている特定のコード行ではないため、どこから始めればよいかわかりません。私はこことグーグルでたくさんの検索をしましたが、この正確な問題を見つけることができません. アプリは 2 つの負荷分散サーバーで実行されており、共通の aspstate データベースを使用して web.config が同じであることを確認しました。それが役立つ場合のスタックトレースは次のとおりです。

at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean\ breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception,\ Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject\ stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand\ cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler,\ TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,\ RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,\ RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,\ RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult\ result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at System.Web.SessionState.SqlSessionStateStore.CreateUninitializedItem(HttpContext\ context, String id, Int32 timeout)

誰かがこのような経験をしたことがありますか、それとも他のことを別の方向に向けることができますか?

4

0 に答える 0