2011-04-24 45 views
2

我試圖使用一個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

回答

1

不能用MVC2重現。

正如預期的那樣,我得到的參數異常與VS和Cassini一起運行。