2010-05-10 65 views
3

我有4個服務通過服務主機項目運行,當ASP.NET開發服務器通過VS託管它們進行調試時,它與我的asp.net應用程序正常通信。WCF-如何將多個服務添加到Service.svc?

我想在Windows Server 2008機器上使用WAS將這些部署到IIS。

我將項目設置爲IIS中的應用程序,並將整個配置節從servicehost項目中的app.config複製到IIS站點的web.config。

經過幾次compliation的問題,我現在得到一個目錄列表,當我瀏覽到http://localhost:8000/Services

我還創建了一個Service.svc文件,其中包含 <%@ ServiceHost的服務= MyApp.AddressService%>

當我導航到本地主機:8000 /服務/地址服務,我收到一條消息,我創建了一個服務,並追加?wsdl給我的XML創建一個客戶端。

問題是,當我嘗試向.svc文件添加更多服務時出現錯誤。

我應該使用service.svc來配置多個服務,還是有不同的方式使用WAS? 如何通過同一應用程序公開我的其他三項服務?

謝謝!

回答

6

不能將多個服務添加到SVC文件。一個SVC文件=一個服務類。沒辦法改變這一點。

不過:你絕對可以在你的服務類實現多種業務接口:

public class YourService : IService1, IService2, IService3 
{ 
    ... 
} 

,然後你有一個SVC文件=一個服務(實現)類= 3的服務合同。

在.NET 4/WCF 4中,您將能夠在web.config中定義服務的URL,並且不再需要SVC文件。

有關更多信息,請參閱this blog post herethis one here,如果.NET 4是您的選項。