簡體   English   中英

如何向UI組件公開服務層

[英]How to expose a service layer to UI components

我們有一個應用程序,其中我們使用大多數業務邏輯和實用程序服務(日志記錄,異常,緩存等)創建了一個服務層。 我們必須提供一種將該服務作為API公開給UI組件的方法。 這是我們的一些要求:

  • 我們想基於該服務創建多個組件。
  • 我們希望第三方開發人員使用我們的服務來創建自己的組件或利用我們的數據。
  • 為了實現可伸縮性,我們希望在不同的機器上安裝多個實例。 類似地,可能有多個相同UI組件的實例。

公開服務層的一種方法是將其托管在基於REST的WCF層下。

另一種方法是將服務托管在ASP.Net MVC項目的模型層中。 UI組件將托管在其自己的MVC項目中。 UI組件視圖中的Javascript將直接調用服務項目的控制器。

WCF應該是非常重量級的選擇。 另一方面,我不太相信MVC方法,因為我覺得這不是它的目的。

您能否推薦我一個在Microsoft世界中公開我們服務層的方法。

模型不是服務。 模型是保存數據的POCO。

您可以通過WCF服務公開您的服務,並讓您的ASP.NET MVC應用程序使用它。 如果始終確保該服務將與客戶端應用程序在同一盒子上運行,則可以使用命名管道進行傳輸-與優點相比,WCF的開銷很小。

WCF似乎是這里的解決之道。 盡管WCF最初是野獸(在我看來),但多年來它通過更好的HTTP和JSON支持以及較少的自定義配置而受到了馴服(盡管仍然允許您從根本上簡化服務的每個方面)。

將您當前的服務層公開為REST服務很容易,並使您的客戶/您自己可以輕松地在支持HTTP的任何設備上使用它。

請參閱: http : //codebetter.com/glennblock/2010/11/01/wcf-web-apis-http-your-way/

WCF似乎是微軟為此而努力的方向,這是有充分理由的。 WCF服務是此處的最佳選擇,因為您提到了第三方開發支持。 因為這些Web服務是由WSDL定義的,所以它們是跨平台的,並且可以由非.NET應用程序使用。

它完美地將您的服務層分開,以供任何組件使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM