0

我有一個建築問題。我們公司有很多應用程序,我們計劃在未來的項目中使用ASP.NET MVC和Entity Framework。我們需要實施的下一個項目是中央授權/認證系統。沒有選擇使用現有的原因,現在不適用。這個系統可能會被組織爲一項服務。我們不知道的是:其他應用程序如何知道這個授權/認證系統的「模型」?我的意思是,他們將如何知道用戶,角色等類?最佳做法是什麼?我們的一位同事建議在類庫中創建實體框架模型(.edmx)。問題是,在這種情況下,我們應該複製這個DLL的所有項目,將訪問授權/認證系統。這是一個好的解決方案嗎?有人有更好的主意嗎?如何讓應用程序訪問我的模型而不必通過它們傳播我的模型DLLS

回答

0

只需添加到DSO已經說過的內容,標準方法是通過Visual Studio中的「添加服務引用」對話框。它將查詢您的Web服務,找出需要的類,並將它們放入reference.cs文件中。您也可以使用svcutil.exe(或者如果您使用Silverlight,SLSvcUtil.exe)來做同樣的事情。每次更改Web服務界面時都必須重新生成reference.cs文件,但通常只需要幾秒鐘。

也可以創建一組獨立的數據傳輸對象,它們可以在應用程序的各個層之間來回共享,但除非您有非常強大的體系結構要求,否則我發現自動生成班級合理地工作。

另請參閱此文章,瞭解EF 4.0中可用的自我跟蹤實體,如果這是您的選擇:http://msdn.microsoft.com/en-us/magazine/ee335715.aspx

3

您可以將您的服務實現爲基於SOAP的Web服務,這意味着您的數據模型和方法將通過SOAP公開並使用WSDL進行描述。 Web服務可以從任何語言使用,而無需分發任何類庫。

許多語言還有基於SOAP接口的WSDL描述(例如.NET客戶端的wsdl.exe)自動生成客戶端類包裝的工具。

相關問題