3

我想實現一個ADO.NET/WCF DataService,我想知道在VS2008 SP1中爲此設置項目的最佳方式是什麼。ADO.NET/WCF DataService的項目設置

目前我有一個ASP.NET Web應用程序項目(不是「WebSite」項目類型)。數據訪問層是具有SQL Server數據庫的實體模型(EF版本1)。我在單獨的DLL項目中有實體模型,並且Web應用程序項目引用此程序集以進行所有數據訪問。

ADO.NET/WCF DataService還需要與實體模型/數據庫進行通信。它必須與Web應用程序一起託管在同一個Web服務器(IIS 7.5)上。由於DataService與特定的Web應用程序沒有直接關係(雖然它將提供和修改Web應用程序使用的同一數據庫中的數據),但我的基本想法是將DataService分離到它自己的新項目中(它也引用了實體模型DLL)。

現在我已經看到在VS2008 SP1中沒有項目類型「ADO.NET/WCF DataService」。似乎只能將DataService作爲元素添加到其他現有項目,例如Web應用程序項目。

爲什麼沒有單獨的DataService項目類型?這是否意味着我必須將DataService作爲元素添加到我的Web應用程序項目中?或者我應該創建一個新的Web應用程序項目並向它添加一個DataService? (我可以刪除預生成的default.aspx,因爲我不需要此項目中的任何網頁。)最好的方法是什麼?

感謝您提前提出建議!

回答

1

由於您承載了您的WCF服務,因此您應該爲其使用Web應用程序項目。它可以在IIS中的獨立站點上託管,您可以在其中使用不同的Web應用程序連接到該站點。不需要單獨的WCF DataService項目模板。

你得到下面這個引用:

網站 - > WCF服務網站 - > EM
項目(該模型)
WCF服務 - > EM項目

+0

感謝您的回覆,Rody!同時我也發現了一些關於這個問題的信息(請參閱我自己的答案)。爲了方便起見,我現在開始將WCF DataService添加到我的Web應用程序項目中。 – Slauma 2010-04-08 15:15:37

0

我相信這篇文章(http://msdn.microsoft.com/en-US/library/cc668805.aspx)給出了一些重要的提示。特別是下面的引用可能會解釋爲什麼WCF DataServices沒有單獨的項目模板:

ADO.NET Data Services不是獨立的網絡服務。 ADO.NET數據服務不會綁定到網絡套接字上並偵聽網絡套接字,以接收對其表示狀態傳輸(REST)入口點的傳入請求。相反,ADO.NET數據服務是託管在Windows Communication Foundation(WCF)等環境中的組件,可提供核心服務器網絡設施。主機處理與網絡的直接交互並支持緩存,可伸縮性和身份驗證模塊。

而且在項目舉辦WCF DataService的選項似乎是:

  • ASP.NET應用程序
ADO。NET Data Services可以作爲ASP.NET應用程序中的WCF端點進行託管。在這個實現中,WCF和ASP.NET處理ADO.NET數據服務的網絡交互。
  • 或WCF的ServiceHost或WebServiceHost
ADO.NET數據服務可以使用WCF的ServiceHost或WebServiceHost班主持。