我将一个WCF部署到本地IIS上,运行很正常,项目要上线了,我给部署到服务器上,将WCF的端口8089加入到防火墙的例外名单中了,于是我新建一个控制台应用程序,添加服务引用,在Main方法中进行调用,出问题了,非常郁闷,下面是我的WCF配置文件
<system.serviceModel>
<services>
<service name="BeerGroup.MessageService.BeerGroupMessageService">
<endpoint address="" binding="wsHttpBinding" contract="BeerGroup.MessageService.IBeerGroupMessageService">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
<host>
<baseAddresses>
<add baseAddress="http://58.177.188.198:8089/BeerGroup.MessageService.BeerGroupMessageService.svc"/>
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
这种写法在本地IIS里没问题的,服务器用的是server 2008
下面附上几个错误截图
图1:创建代理类对象,并调用方法

图2:点击图1中的详细信息

我头大了半天了,搞了半天硬是调用不成功,为啥本地IIS可以呢?
而且我在添加引用里WCF的.svc文件路径我写的明明是IP,我调用的时候大家看下图2中的异常信息,硬是把服务器IP换成计算机名称了,不知道我只能访问这个地址不能调用这个服务跟这有没有关系?