为Visual Studio 2013添加WCF Tcp.net服务到IIS以及如何测试它

时间:2015-02-09 14:53:13

标签: wcf iis tcp

我正在尝试部署我在Visual Studio中创建的wcf服务。 我几乎肯定是wcf服务配置或IIS本身的配置问题。

我在服务中使用的配置如下:

<system.webServer>
    <directoryBrowse enabled="true" />
</system.webServer>
<system.serviceModel>
<behaviors>
  <serviceBehaviors>
    <behavior name="CandidateServiceBehavior">
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
      <serviceThrottling maxConcurrentCalls="500" maxConcurrentSessions="500" maxConcurrentInstances="500" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<services>
  <service name="SurveyService.SurveyService" behaviorConfiguration="CandidateServiceBehavior">
    <endpoint address="/Survey/SurveyService" binding="netTcpBinding" name="CandidateServiceEndPoint" contract="Prometric.Census.SurveyService.ISurveyService" />
    <endpoint address="/Survey/SurveyService/mex" binding="mexTcpBinding" contract="IMetadataExchange" />
  </service>
</services>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="false" />
</system.serviceModel>

我从visual Studio部署了一次服务,并在IIS上指向了一个新站点,其中以下设置指向部署文件夹

enter image description here

然后在IIS中,您可以看到该网站处于未知状态:

enter image description here

从这里开始,我无法连接到服务或查找是否正在运行。我已经尝试了命令/ an:find / i“9015”并没有发现任何内容,所以我认为该服务甚至没有运行。

如果我在哪里更改WCF服务和IIS上的绑定以使用http,则一切正常。 (应该说使用http不是一个选项)

此外,除了没有启动和运行服务之外,我不确定如何将服务作为TCP进行测试,我是否可以像使用http sefvice一样添加服务引用?你可以看到我对tcp方面的新手很新,如果我遗漏了任何重要信息,请告诉我,以便我可以在问题中加入。

1 个答案:

答案 0 :(得分:1)

这可能会对您有所帮助:

https://rohitguptablog.wordpress.com/2011/06/16/configuring-wcf-service-with-nettcpbinding/

我按照本指南制作了net.tcp wcf服务,顺利进行。此外,您确定您的文件夹具有所需的权限吗?使用wwwroot / inetpub

之外的其他文件夹可能会很棘手