2009-09-30 188 views
2
  1. 我們一直在討論如何管理我們的MVC企業解決方案的ObjectContext。我們正在尋找storing your ObjectContext between requests的優缺點,而不是在每個請求上創建一個。ASP.NET MVC實體框架ObjectContext

  2. 比方說,我們有產品控制器路由到\ site \ product \ edit \ 34。編輯操作調用我們的存儲庫(目前在存儲庫ala NerdDinner中有對象上下文)。然後進入視圖,用戶進行一些更改並點擊「更新」。然後返回到產品控制器編輯操作(發佈此時間)。模型聯編程序會將我帶回產品(如更新)。我的問題是,我是否應該使用這個新的「更新」請求創建一個新的對象上下文,還是應該存儲上下文(例如在上下文項中)並從我保存在頁面上的某個ID調用它?

回答

3

首先,只要有可能,您的Web應用程序應該是無狀態的。你不想在你的應用程序中編寫一個依賴項,爲頁面提供服務的Web服務器必須是處理實際更新的Web服務器。您可能不打算立即部署到服務器場,但如果您跳過這一步,則不會希望重寫應用程序來執行此操作。這是一個很好的理由不嘗試和存儲對象的地方,我甚至沒有具體提到實體框架或MVC。

事實證明,事實上,ObjectContext實際上相當輕量級。如果你在編譯時(谷歌它)做視圖生成,那麼花一個開銷就沒有多少開銷。