将WCF Web服务部署到Windows Server 2008 R2之后,我可以在“ http://192.168.100.22:4567/HrmsService.svc”上找到一个页面。该页面在服务器上有效,但在我的PC上无效。
我创建了一个Windows窗体应用程序,并尝试将其添加为服务引用,但是出现了如下错误消息。我在服务器上安装了VS2010,并尝试将其添加为服务引用,并且适用于Windows窗体应用程序。我什至在服务器防火墙中添加了端口4567以允许它。
今天早上我尽力了,但我不知道。请告诉我。
错误信息
下载时出错
'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(如果存在)。无法连接
远程服务器连接尝试失败,因为已连接
一段时间后未正确响应,或已建立
连接失败,因为连接的主机无法响应
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>
最佳答案
99%的错误消息与网络配置有关,与WCF无关。
尝试telnet 192.168.100.22 4567
http://technet.microsoft.com/en-us/library/cc771275(v=ws.10).aspx
将服务移至端口80。防火墙通常不会关闭标准端口。