我正在使用对 DB2 表执行基本 CRUD 操作的 ASP.NET MVC 2 应用程序。在通过简单地在 IE 中加载应用程序来测试我的应用程序时,如果我将字符放在数字字段中或将数字放在日期字段中或与我的视图模型中的数据类型不兼容的其他形式的数据中,MVC 会在其末端执行正确的错误处理并返回视图,其中包含 Html.ValidationSummary() mvc 帮助器显示的相应模型状态错误消息。
但是,当我使用 IBM AppScan 等程序运行测试或使用 Fiddler2 伪造 POST 请求时,应用程序会崩溃。
我正在以两种不同的方式执行我认为是相同类型的测试,并且得到了不同的结果。
我也在使用 MVC 的 AntiForgeryToken 系统,但这并没有多大用处,因为这些程序只是扫描请求数据,找到令牌,并确保它包含在他们的伪造 POST 中。
另请注意,我在服务器端使用 DataAnnotations 来处理其中的几个验证,而不是获取注释应该返回的错误,而是将页面重定向到应用程序错误页面以获取未捕获的异常。
我实际上对这一切感到很困惑。我错过了什么?