【发布时间】:2011-04-24 23:14:58
【问题描述】:
我正在尝试在 ASP.NET 应用程序 (MVC 3) 中使用代码协定,例如:
public class MyController : Controller
{
private readonly MyEntities _db;
public MyController(MyEntities db)
{
Contract.Requires<ArgumentNullException>(db != null);
_db = db;
}
在项目设置中:
- 运行时检查:完整
- 标准合同要求
但在运行时,db 等于 null,我没有得到异常。奇怪,因为控制台中的相同测试确实提供了运行时错误。
ASP.Net、MVC 或 IIS Express 的某些部分是否会禁用运行时契约?
【问题讨论】:
-
你的抄送设置是什么?也许发布一个屏幕转储
-
除了下面的答案之外,我们使用 MVC3 的合同,它也可以按预期工作。