我有4个服务通过服务主机项目运行,当ASP.NET开发服务器通过VS托管它们进行调试时,它可以与我的asp.net应用程序进行良好的通信。
我正在尝试使用WAS在Windows Server 2008计算机上将这些部署到IIS。
我将项目设置为IIS中的应用程序,并将整个配置部分从servicehost项目中的app.config复制到IIS站点的web.config。
在一些恭维问题之后,我现在在导航到http://localhost:8000/Services时获得目录列表
我还创建了一个Service.svc文件,其中包含 <%@ ServiceHost Service = MyApp.AddressService%>
当我导航到localhost:8000 / Services / AddressService时,我收到一条消息,说我已经创建了一个服务,并附加了?wsdl给了我xml来创建一个客户端。
问题是,当我尝试向.svc文件添加更多服务时出现错误。
我应该使用service.svc配置多个服务,还是使用WAS有不同的方式? 如何通过同一个应用程序公开我的其他三个服务?
谢谢!
答案 0 :(得分:6)
您无法向SVC文件添加多项服务。一个SVC文件=一个服务类。没办法改变它。
但是:您绝对可以在服务类上实现多个服务接口:
public class YourService : IService1, IService2, IService3
{
...
}
然后你有一个SVC文件=一个服务(实现)类= 3个服务合同。
在.NET 4 / WCF 4中,您将能够在web.config中定义服务的URL,并且不再需要SVC文件。
有关详细信息,请参阅this blog post here或this one here,如果.NET 4是您的选项。