2012-12-14 55 views
6

我正在測試ASP.NET MVC 3.爲什麼我應該使用WCF和MVC?

對於ajax調用,我可以使用MVC控制器方法或WCF服務。 但是我爲什麼要用WCF,如果我可以用MVC來做呢?

我的問題是:我應該使用WCF服務與MVC,還是不?爲什麼?在這種情況下?

謝謝,

回答

3

MVC很好,你真的不需要WCF這個。 MVC創建了一些REST API(你的所有動作方法都有自己的URL,你可以用它來調用這個方法),所以你可以使用它。

+0

謝謝,這就是我的想法。但現在我確信;) – Tkanos

7

WCF是用於開發Web服務的框架。 Web服務的思想是將用於提供原始數據的功能與用於處理數據的功能分離並將其提供給最終用戶。這有幾個優點:

  • 如果您提供的API,您不知道如何使用數據。您只需將原始數據提供給一組應用程序,並讓這些應用程序處理其餘的應用程序。 Web服務就是這樣做的......它打開了應用程序的數據層,而其餘部分則關閉。
  • 它可以通過實施鬆耦合來提高數據層可維護性。鬆耦合意味着應用程序的組件不會相互纏繞。這是一件好事,因爲它可以更輕鬆地修改應用程序的某些部分,而不會中斷其他部分。例如,如果瞭解給定的函數調用將返回一個設置的JSON對象,則可以更改爲該對象提供數據的數據庫的表結構,而不會干擾使用應用程序的代碼。只要您始終以相同的格式提供相同類型的數據,即可維護預定義的數據合同,這種方式仍然有效。另一方面,如果將數據庫查詢,連接字符串等全部硬編碼到您的應用程序中,那麼修改數據庫邏輯就顯得更加困難。

就你而言,如果你只是開發一個小型到中型的web應用程序,並且不打算啓動一個API或類似的服務,那麼可能不需要WCF。

請記住,雖然您可能不需要爲您的應用程序編寫WCF服務,但您仍然應該嘗試鬆散地耦合應用程序層,就像使用服務一樣。您可以通過將數據訪問代碼或對象(實體)定義代碼拆分爲單獨的項目來完成此操作。鬆散的耦合,無論是使用WCF還是MVC實現,都可以讓您的項目更簡單,更簡單,更實惠,並且總體而言是一個非常好的守規。

+0

謝謝,這就是我的想法。但現在我確信;) – Tkanos

相關問題