InvalidOperationException - 你能从中获得更多信息吗?

时间:2011-03-14 17:11:15

标签: c# asp.net

我正在尝试跟踪用户在ASP.NET 3.5网页上的错误。整个错误是标准“无法找到与ViewState中存储的原始值中的给定键匹配的行。确保'keys'字典包含与从上一个Select操作返回的行对应的唯一键值。”在更新。我理解这意味着视图状态正在抱怨它认为从下拉框中回发的选项无效。

这是扭曲,生产页面的代码几乎整整一年没有改变。这是第一次根据生产页面的aspnet_WebEvents_Events表发生此错误。所以我所做的是在本地提取项目,并通过本地服务器上的SQL查询制作用户数据的副本。它没有破裂。所以我假设源已被更改而未部署。总而言之,我最终在生产服务器上为用户制作副本,并再次通过SQL查询更改坏版本上的UserID。用户认为它是固定的,一切都很好,但破坏的原始副本继续破坏。即使我通过SQL查询获得了坏行的确切副本,我也无法重新创建此错误。有没有办法获得有关此错误的更多信息?是否有可能让LinqDataSource确切地告诉我它认为哪个值不好? TIA!

1 个答案:

答案 0 :(得分:0)

唯一的方法是重现错误并在导致异常的行上放置断点。然后,您可以浏览调用堆栈以查看错误实际发生的位置。

即使最后一句话并非总是如此。有时会弹出由之前执行的代码引起的错误,例如准备要保存在数据库中的数据列表时 - 如果准备代码错误,保存到数据库的代码将失败,您必须煞费苦心地调查当前的情况,找出问题的根源。

但事实仍然是:如果你无法重现错误,你就不太可能修复错误。