8

我是 WCF 服务的新手。我制作了一个服务应用程序,并将应用程序代码目录放在 IIS 的默认网站下。它与我的客户端连接得很好。

我想知道如何将我的服务作为二进制文件部署在 IIS 上,到目前为止,我的整个源代码在服务器上都是可见的

4

3 回答 3

8

它被称为 WCF 服务发布

检查MSDN 文档

发布后,服务器中只有程序集文件、Web.config 文件和 .svc文件

于 2013-09-13T05:59:13.707 回答
6

1:从VS发布您的wcf服务应用程序并给出发布路径。

2:在 IIS 中创建一个虚拟目录,该目录将指向发布目录

3:将虚拟目录默认页面设置为应用程序的 .SVC 文件。

然后尝试浏览它..我希望你现在能够做到..

于 2013-09-13T10:27:30.530 回答
2

礼貌:http ://social.msdn.microsoft.com/Forums/vstudio/en-US/5c0a54e7-af4b-422f-bf5d-5f2f93d46ed0/deploying-wcf-service-to-iis-75

  1. 您需要在 IIS 上为您的 WCF 应用程序创建一个新应用程序。

  2. 要在 IIS 上使用特定端口作为nettcp端点端口配置服务,您需要编辑“默认网站”上的“绑定...”部分,更改“net.tcp”类型绑定以使用所需的端口,(例如, 要使用 22550,请将绑定信息设置为 "22550:*")

  3. 您可以nettcp使用相对 URI 设置端点地址。IIS 会自动将地址转换为绝对 URL。#iv-v), 要nettcp在 IIS 应用程序上启用协议,您可以在特定 IIS 应用程序上打开“高级设置”,编辑“启用的协议”对,添加“net.tcp”。

  4. 是的,添加一个 MEX 端点,然后添加serviceMetadataServiceBehavior. 请参阅此配置示例:


  <system.serviceModel>
    <services>
      <service name="nettcp_wcf.Service1" behaviorConfiguration="nettcp_wcf.Service1Behavior">
        <!--use relative url-->
        <endpoint address="nettcp" binding="netTcpBinding" contract="nettcp_wcf.IService1">
        </endpoint>
        <!--add mex endpoint-->
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="nettcp_wcf.Service1Behavior">
          <!--enable metadata service-->
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
    

这是一篇关于将 IIS 配置为主机的文章nettcp WCF,请查看:http: //blogs.msdn.com/swiss_dpe_team/archive/2008/02/08/iis-7-support-for-non-http-protocols.aspx

于 2013-09-13T05:55:26.533 回答