【问题标题】:What causes could there be for data randomly not being saved?数据随机不保存可能是什么原因?
【发布时间】:2012-11-20 01:29:41
【问题描述】:

我在一个 ASP.NET MVC 网站上工作,并且随机出现了一个问题(而且似乎只在一台服务器上),用户导航到一个包含一些文本字段和一个提交按钮的编辑页面,更改其中一个字段中的一些有效数据并单击提交按钮,但有时不是保存数据并将用户返回到查看详细信息页面(如预期的那样),编辑页面再次显示并且仅在单击后保存再按几次提交按钮。

鉴于输入到文本框中的数据是有效的,并且鉴于此问题无法在其他服务器或网站的本地开发副本上重现,可能是什么原因造成的?会不会是与服务器上的资源有关的东西?

您将如何调查此问题以找出导致此问题的原因?

注意;无法调试代码,因为它在另一台服务器上。我可以使用相同的数据库,但问题仍然无法重现。

【问题讨论】:

  • ..当然你有所有适当的日志基础设施来调试这个..是吗?首先检查服务器上的事件日志。监控应用程序池,看看它是否崩溃..
  • 感谢您的建议。发生此问题时,我将查看事件日志。你的意思是什么其他类型的日志记录? (除了事件日志和检查应用程序池)
  • 一般来说,我们有不同的日志级别,可以从测试 -> 登台 -> 实时服务器打开和关闭。例如,DEBUG 级别的日志记录几乎所有内容。而FATAL 只会记录非常非常糟糕的内容。 DEBUG 在测试中启用。在我们的登台服务器上略有限制,只有FATAL 在实时服务器上启用。如果由于某种原因其中一台实时服务器因未知原因出现故障..我们会将其轻弹到实时服务器上的DEBUG 15 分钟,然后将其关闭。然后检查日志,看看究竟是哪里出了问题。

标签: c# asp.net-mvc wcf


【解决方案1】:

以下是我推荐的步骤:

  1. 在相应的控制器中设置断点,就在逻辑的顶部,并查看传递给控制器​​的内容。然后,按照逻辑向下看它被踢出的地方。
  2. 打开浏览器调试器并查看网络流量。准确查看您发送到控制器的内容。这可能有助于了解更新失败的原因。

【讨论】:

  • 您的第二点很有帮助,感谢您的建议。正如我在问题中所说,我无法调试代码,因为它在另一台计算机上。
  • 啊,错过了那部分。是的,Chrome 中的网络面板是迄今为止我最常用的调试工具(在控制台旁边:P)。我的猜测是某些值没有正确序列化并且由于模型无效而被拒绝,从而将用户返回到编辑屏幕(非常默认的行为)。希望你能把这一切搞定!
猜你喜欢
  • 2013-02-16
  • 2021-09-01
  • 2012-01-01
  • 2020-09-09
  • 1970-01-01
  • 1970-01-01
  • 2010-12-03
  • 2023-03-29
  • 2013-06-25
相关资源
最近更新 更多