在IIS5.1(XP)中承载WCF服务的步骤

时间:2009-10-31 04:12:51

标签: wcf iis-5

我开发了一个示例WCF服务。我想知道在IIS 5.1(XP)中托管它的步骤

2 个答案:

答案 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服务的信息。