aspstate临时会话数据库错误

时间:2013-06-27 18:14:20

标签: c# .net sql-server session-state

我们正在使用新的遗物来监控我们的应用,而且我们经常收到此错误,而且我很难跟踪它:

System.Data.SqlClient.SqlException :违反PRIMARY KEY约束'PK_ ASPStateTempSess _267ABA7A'。无法在对象'dbo.ASPStateTempSessions'中插入重复键。声明已经终止。

如果我们找到根本原因似乎是一个简单的修复,只需在插入之前检查主键是否存在,但这似乎是默认功能,如果我们有能力修改,我不知道。没有提到具体的代码行,所以我真的不知道从哪里开始。我在这里和谷歌上做了一堆搜索,但找不到这个确切的问题。该应用程序在2个负载均衡的服务器上运行,我检查了web.configs是否相同,使用了一个常见的aspstate数据库。如果它有帮助,这是堆栈跟踪:

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)

有没有人对这样的事情有任何经验,或者可能指出我在其他事情的另一个方向上看?

0 个答案:

没有答案