运行时代码合同是否与ws/ASP.Net兼容?

问题描述:

我试图使用一个ASP.NET应用程序代码合同(MVC 3),简单的东西,如:运行时代码合同是否与ws/ASP.Net兼容?

public class MyController : Controller 
{ 
    private readonly MyEntities _db; 
    public MyController(MyEntities db) 
    { 
     Contract.Requires<ArgumentNullException>(db != null); 
     _db = db; 
    } 

如在项目设置:

  • 运行时检查:全
  • 标准合同需要

但在运行时,与db等于空,我没有得到一个异常。奇怪,因为控制台中的相同测试确实会提供运行时错误。

是否有ASP.Net,MVC或IIS Express的某些部分禁用运行时契约?

+0

你的CC设置是什么?也许发布一个screendump – 2011-04-28 07:04:45

+0

对于下面的答案的补充,我们使用了与MVC3的契约,它也按预期工作。 – Andy 2012-01-27 02:29:26

不能用MVC2重现。

正如预期的那样,我得到的参数异常与VS和Cassini一起运行。