我开发了一个示例WCF服务。我想知道在IIS 5.1(XP)中托管它的步骤
答案 0 :(得分:5)
1)您需要一个IIS虚拟目录 - >使用IIS管理器创建它
2)你需要一个引用你的服务的* .svc文件 - 它是一个文本文件,它必须位于你刚刚创建的虚拟目录中,它应该是这样的:
<% @ServiceHost Service="YourNameSpace.YourServiceClass"
Language="C#" Debug="False" %>
如果您的WCF服务类位于部署到虚拟目录下面的“bin”目录的程序集中,则该方法有效。
如果您的实际服务代码恰好位于“App_Code”目录中的“代码隐藏”文件中(我不推荐),那么您需要在* .svc文件:
<% @ServiceHost Service="YourServiceClass"
CodeBehind="~/App_Code/YourServiceClass.cs"
Language="C#" Debug="False" %>
3)您需要在web.config中配置 - 根据您的需要,您至少需要<service>
标签以及更多标签:
<system.serviceModel>
<services>
<service name="YourNameSpace.YourServiceClass"
behaviorConfiguration="MetadaTaEnabled">
<endpoint address=""
binding="wsHttpBinding"
contract="YourNameSpace.IYourService" />
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MetadaTaEnabled">
<serviceMetadata httpGetEnabled="True"/>
</behavior>
</serviceBehaviors>
</behaviors>
在这里,您需要决定使用哪种绑定(协议)。
如果您执行了所有这些操作,并且一切都成功了,您应该可以使用IE浏览器(http://yourserver/virtualdirectory/YourService.svc
)浏览到您的虚拟目录网址,并查看您服务的“目标网页”。
马克
答案 1 :(得分:1)
看看this article on MSDN。它包含有关在所有IIS版本中托管WCF服务的信息。