把 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,看看有无内部异常。往往是内部异常引发的。