日期:2014-05-18  浏览次数:20785 次

把 WCF 部署到服务器上,连接不上。抛出 CommunicationException 异常。"基础连接已经关闭: 连接被意外关闭"
把 WCF 部署到服务器上,连接不上。抛出 CommunicationException 异常。"基础连接已经关闭: 连接被意外关闭"

服务器端配置

 <services>
  <service behaviorConfiguration="HHH.BaoAn.WCF.BaoAnServiceBehavior" name="HHH.BaoAn.WCF.BaoAnService">
  <endpoint address="" binding="wsHttpBinding" contract="HHH.BaoAn.WCF.IBaoAnService" bindingConfiguration="StreamedBindingConfiguration">
  <identity>
  <dns value="192.168.3.3" />
  </identity>
  </endpoint>
  <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  <host>
  <baseAddresses>
  <add baseAddress="http://192.168.3.3:8738/BaoAnService/" />
  </baseAddresses>
  </host>
  </service>


客户端配置

<endpoint address="http://192.168.3.3:8738/BaoAnService/" binding="wsHttpBinding"
  bindingConfiguration="Main_WSHttpBinding_IBaoAnService" contract="BaoAnWCF.IBaoAnService"
  name="Main">
  <identity>
  <dns value="192.168.3.3" />
  </identity>
  </endpoint>

方法定义

 [OperationContract(IsOneWay=true)]
 void Init();


------解决方案--------------------
顶起
------解决方案--------------------
wcf没弄过呢!!
学习!!
------解决方案--------------------
楼主是在什么里面HOST的?

虽然是HTTP, 但如果使用Win Host一类的, 容易被防火墙阻止

另外,一点,可能就是认证了, 默认是用Windows认证,你试着关掉认证看看
------解决方案--------------------
晓习
------解决方案--------------------
1 看你的异常应该是客户端抛出的, 那么先用ie访问你服务器部署的地址:
http://192.168.3.3:8738/BaoAnService/

在服务器端用ie打开,看到的应该是类似Webservice的界面, 如果看不到,服务器端问题。

2 如果可以看到界面,说明服务器端没问题。 用客户端的IE打开,看一下能不能看到界面,
如果看不到的话,说明链路问题。一般是不会封闭80端口的。 你可以采用ping 服务器端,或者telnet 服务器IP 80 的方式,
来看看是否能获取到响应数据

3 如果客户端可以看到界面,那么说明, 你是客户端的代码有问题,可能是在代理类实例化的时候出了问题。
除了看当前异常,最好再看看 innerException,看看有无内部异常。往往是内部异常引发的。