Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
部署WCF服务时出现的问题_Wcf_Deployment - Fatal编程技术网

部署WCF服务时出现的问题

部署WCF服务时出现的问题,wcf,deployment,Wcf,Deployment,我们正试图部署一个使用WCF服务的网站——测试中的一切都正常——但当我们通过一个面向外部的IP将其上线(指向同一个WCF服务)时,它停止了工作 当我们将url粘贴到浏览器中时,它会显示基本网页-但当我们通过应用程序尝试时,它会给我们一个错误(见下文) 配置部分 <client> <endpoint address="http://123.321.123.321:8731/N3/WebsiteIntegrationService/" binding="wsHttpBindin

我们正试图部署一个使用WCF服务的网站——测试中的一切都正常——但当我们通过一个面向外部的IP将其上线(指向同一个WCF服务)时,它停止了工作

当我们将url粘贴到浏览器中时,它会显示基本网页-但当我们通过应用程序尝试时,它会给我们一个错误(见下文)

配置部分

<client>
  <endpoint address="http://123.321.123.321:8731/N3/WebsiteIntegrationService/" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IWebsiteIntegrationService" contract="AccessService.IWebsiteIntegrationService" name="WSHttpBinding_IWebsiteIntegrationService">
    <identity>
      <userPrincipalName value="myname@mydomain" />
      <dns value="webservername"/>
    </identity>
  </endpoint>
</client>

错误

在[0]处重试异常: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg) at System.Runtime.Remoting.proxy.RealProxy.PrivateInvoke(MessageData&msgData,Int32类型) 位于System.ServiceModel.ICommunicationObject.Close(TimeSpan超时) 位于System.ServiceModel.ClientBase
1.System.ServiceModel.ICommunicationObject.Close(TimeSpan超时)
在System.ServiceModel.ClientBase上
1.Close() 位于System.ServiceModel.ClientBase`1.System.IDisposable.Dispose()

通信对象System.ServiceModel.Channels.ServiceChannel, 无法用于通信,因为它处于故障状态。
System.ServiceModel.CommunicationObjectFaultedException无效 HandleReturnMessage(System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Messaging.IMessage)
服务器堆栈跟踪:
在System.ServiceModel.Channels.CommunicationObject.Close(时间跨度 超时)

。。。但同样的服务仍然通过我们的本地测试应用程序工作——我们甚至可以使用面向外部的IP


有人能给我指出正确的方向吗?

端点地址应该是安装服务的地址(即使用机器上的端口,而不是路由器nat表中定义的外部端口)


我在web服务器场中遇到过类似的情况,外部调用是通过https进行的,但负载平衡器在内部通过http调用服务器场中的实际机器。为此,服务上的所有配置设置(行为、端点)都使用http地址,因为这是它们被调用的方式。

端点地址应该是安装服务的地址(即使用机器上的端口,而不是路由器nat表中定义的外部端口)


我在web服务器场中遇到过类似的情况,外部调用是通过https进行的,但负载平衡器在内部通过http调用服务器场中的实际机器。为此,服务上的所有配置设置(行为、端点)都使用http地址,因为这是调用它们的方式。

您能否解释一下端口转发的含义,123.321.123.321是实际的机器还是代理?您对该服务的安全配置是什么?我们已经让我们的主机打开了正确的端口,因此我们不再使用端口转发-但我们仍然存在问题。您是否有RDP访问您部署站点的服务器的权限?你能从那里通过浏览器调用服务URL吗?你能解释一下你所说的端口转发是什么意思吗?123.321.123.321是实际的机器还是代理?您对该服务的安全配置是什么?我们已经让我们的主机打开了正确的端口,因此我们不再使用端口转发-但我们仍然存在问题。您是否有RDP访问您部署站点的服务器的权限?您可以通过浏览器从那里调用服务URL吗?