我开发了一个示例 WCF 服务。我想知道在 IIS 5.1(XP) 中托管它的步骤
问问题
10893 次
2 回答
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
) 浏览到您的虚拟目录 URL,并看到您的服务的“登录页面”。
马克
于 2009-10-31T08:31:25.073 回答
1
查看MSDN 上的这篇文章。它包含有关在所有版本的 IIS 中托管 WCF 服务的信息。
于 2009-10-31T04:19:19.617 回答