运行时代码合同是否与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的某些部分禁用运行时契约?
答
不能用MVC2重现。
正如预期的那样,我得到的参数异常与VS和Cassini一起运行。
你的CC设置是什么?也许发布一个screendump – 2011-04-28 07:04:45
对于下面的答案的补充,我们使用了与MVC3的契约,它也按预期工作。 – Andy 2012-01-27 02:29:26