日期:2014-05-17  浏览次数:20771 次

WCF 报错求指导
我是写的一个同步AD域的 WCF.

就一个方法 void SyncADUserInfo(),总共8个域需要同步,大概10分钟左右。
现在我的client端在调用服务后,8个域正常同步,但是当同步完后返回给客户端却报错.
而当我把同步的域的个数改成两个时,就正常了.

我的超时时间已经改成了30分钟,但是如果真的是超时的问题也应该报超时错误啊,

求帮忙看看
报错信息如下

接收对 http://nb1212009:9999/ADHelper 的 HTTP 响应时发生错误。这可能是由于服务终结点绑定未使用 HTTP 协议造成的。这还可能是由于服务器中止了 HTTP 请求上下文(可能由于服务关闭)所致。有关详细信息,请参见服务器日志。

------解决方案--------------------
那你再仔细检查客户端的代码,我怀疑你客户端并未使用配置文件来连接。不然怎么会不报错呢?
服务端的安全设置:<security mode="None" />
客户端的安全设置:<security mode="Message">
仅凭这点就不可能正常工作。

然后是服务端的绑定设置,缺少了bindingConfiguration="WSHttpBinding_IADHelper",不指定绑定名的情况下,也许会找个默认的,我没有验证过,反正我都是会指定具体绑定设置对应名的。

综合看来你的思路很乱,估计部分设置走的是代码而非配置文件,结果问题倒底出在哪里都不清楚了。