在将WCF Web服务部署到Windows Server 2008 R2后,我能够在“http://192.168.100.22:4567/HrmsService.svc”处拥有一个页面在服务器上工作,但不在我的电脑上工作。 我创建了一个Windows窗体应用程序,我尝试添加它作为服务参考,但有像下面的错误消息。我在服务器上安装了VS2010,并试图将其作为服务参考添加,并且它适用于Windows窗体应用程序。我甚至在服务器防火墙中添加了端口4567以允许它。 今天早上我试了一下,但我搞不明白。请告诉我。Windows服务器2008 R2和IIS7.5中的主机WCF
错误消息
时发生错误,在下载 'http://192.168.100.22:4567/HrmsService.svc?wsdl'。无法将 连接到远程服务器连接尝试失败,因为连接的 一方在一段时间后没有正确响应,或者由于连接的主机未能响应而建立连接失败 192.168.100.22:4567元数据包含引用无法解析:'http://192.168.100.22:4567/HrmsService.svc?wsdl'。有 没有端点在 'http://192.168.100.22:4567/HrmsService.svc?wsdl'可以接受 消息。这通常是由不正确的地址或SOAP操作引起的。 有关更多详细信息,请参阅InnerException(如果存在)。无法连接到 远程服务器A连接尝试失败,因为连接的 一方在一段时间后没有正确响应,或者由于连接的主机未能响应而建立连接失败 192.168.100.22:4567如果服务已定义在当前的解决方案中,请尝试构建解决方案并再次添加服务引用。
这是我的Web.config文件。
<system.web>
<compilation debug="true" targetFramework="4.0"><assemblies><add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /></assemblies></compilation>
</system.web>
<system.serviceModel>
<services>
<service name="WcfServiceHrms.HrmsService" behaviorConfiguration="BehaviorHrms">
<endpoint address= "" binding="wsHttpBinding" contract="WcfServiceHrms.IHrmsService" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://192.168.100.22:4567" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="BehaviorHrms">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>
你100%正确。我改变了它的端口80,它解决了。但我想知道为什么我只需要使用端口80.是真的还是有其他方式使用其他端口号?顺便说一句,感谢您的帮助。 – Hoorayo
端口80是HTTP的默认端口,通常在任何网络中打开。您需要与您的网络团队交谈以确定您的公司政策。 –