发布WCF服务

时间:2011-06-27 20:10:05

标签: asp.net wcf iis-7

我正在将Web应用程序部署到远程服务器。我设置了IIS 7,该网站出现了。 作为Web应用程序的一部分,有一个对wcf服务的服务引用。 所有这一切在我的localhost上工作正常。 我从未对部署服务器上的服务本身做过任何事情。我只是在IIS中设置了Web应用程序。现在我收到一个套接字异常错误,可能来自一些事情,我只想消除我的选择......

我的问题是,我是否必须将该服务作为部署过程的一部分发布,或者因为我发布了附带服务引用的Web应用程序,我应该没问题?

这是我的服务的Web配置部分,因为你可以看到有一个对localhost的引用(这不能很好)这是如何解决的?

</system.webServer>


<system.serviceModel>
        <bindings>
   <basicHttpBinding>
    <binding name="BasicHttpBinding_IHSSWcfServices" closeTimeout="00:01:00"
     openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
     allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
     maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
     messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
     useDefaultWebProxy="true">
     <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
      maxBytesPerRead="4096" maxNameTableCharCount="16384" />
     <security mode="None">
      <transport clientCredentialType="None" proxyCredentialType="None"
       realm="" />
      <message clientCredentialType="UserName" algorithmSuite="Default" />
     </security>
    </binding>
   </basicHttpBinding>
  </bindings>
        <client>
   <endpoint address="http://localhost:49506/IHSSWcfServices.svc"
    binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IHSSWcfServices"
    contract="ServiceReference1.IHSSWcfServices" name="BasicHttpBinding_IHSSWcfServices" />
  </client>
    </system.serviceModel>

2 个答案:

答案 0 :(得分:1)

您不必将该服务作为应用程序部署过程的一部分发布(否则,ASP.NET应用程序永远不会与外部发布的服务通信)。

确保您尝试与之通信的服务地址是托管服务的实际地址(例如,而不是localhost,这可以在您的计算机上运行,​​但一旦部署就不行了)

如果您正在编写服务和客户端,则必须在某处部署服务 ,并且客户端的部署位置必须可以访问某处。但是,服务的部署与客户端的部署无关。

答案 1 :(得分:1)

config中的system.ServiceModel部分显然引用了localhost。尝试将其更改为指向实际的IIS URL