我有一个客户端调用一个Web服务,然后点击AD获取信息。
最近我开始有以下行为。
经过漫长的等待或IISReset后,客户端调用Web服务, Web服务显示调用,启动DirectoryEntry.RefreshCache();. (这是一个应该记录任何异常的try catch内部)
然后没有任何事情发生。
几分钟后,我在Web服务日志的同一个线程上看到了活动,
但是服务或客户端日志中没有出现任何错误,只是没有。
经过漫长的等待,Web服务将开始正常工作,然后调用 完全相同的功能将在合理的时间内产生响应。
有趣的是,对挂起的Web服务的调用并不是第一次调用 点击广告,这是一对夫妇打电话。 (所以理论上它不是最初的连接,我们之前遇到的问题,并且必须在成员资格提供者上设置connectionprotection = none来修复)所以我的问题是, 日志文件中线程的重复是否表明线程已经存在 终止? 如果它被终止,为什么我没有得到错误,它是在try catch?
任何想法为什么DirectoryEntry.RefreshCache()花了这么长时间?
答案 0 :(得分:0)
奇怪的webservice线程永远不会返回或抛出错误,结果最像是我正在使用的类库中的内存损坏错误,它将属性复制到本地副本。
使用内存损坏作为我的最佳猜测,我在不使用库的情况下编写它,只是获得我追求的价值,问题就消失了。
谢谢,
埃里克 -