1

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

4

2 回答 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 回答