我正在将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>
答案 0 :(得分:1)
您不必将该服务作为应用程序部署过程的一部分发布(否则,ASP.NET应用程序永远不会与外部发布的服务通信)。
确保您尝试与之通信的服务地址是托管服务的实际地址(例如,而不是localhost
,这可以在您的计算机上运行,但一旦部署就不行了)
如果您正在编写服务和客户端,则必须在某处部署服务 ,并且客户端的部署位置必须可以访问某处。但是,服务的部署与客户端的部署无关。
答案 1 :(得分:1)
config中的system.ServiceModel部分显然引用了localhost。尝试将其更改为指向实际的IIS URL