我有一个项目,它使用WCF服务执行一些数据库查询,构建一个"Environment“对象(它由不同的数据库类对象组成),并在"Workspace”对象中将其返回给客户端。一直都很好。
我在服务中添加了另一个“数据库”类型,并提供了所有正确的契约和方法更新。现在,当我调用该方法时,客户端在1分钟后超时。在调试过程中,大约需要3-5秒才能到达服务方法的末尾。然后在剩下的一分钟内什么都不会发生,直到在客户端我们看到一个超时问题。没有引发错误/异常。
请见下文:
来自客户的电话:
490 m_ScanWorkspace = m_Connection.ScanProxy.CreateEnvironments
结束服务方法:
477 return tWorkspace;
478 }
服务中到达第478行需要3-5秒.F10显示它已经完成了。
直到1分钟后,当客户端的第490行显示超时错误时,才会发生任何事情。在调试时,我可以在tWorkspace中看到一个有效的对象。
发布于 2013-08-23 22:00:50
首先,使用WCF追踪命名空间设置Diagnostics
。只需使用该教程中的第一个示例,WCF将输出所有活动的日志,您可以在日志查看器中打开该日志。它会告诉你电话到底在哪里失败,这将帮助你找出问题所在。
WCF是伟大的,但它提供的错误信息是神秘的,往往接近无用。1分钟后超时并不一定意味着超时通常意味着--即找不到服务器。可能是其他问题。
很可能会有超过阈值的情况,导致响应对象不完整。这可以是数组长度、字符串内容长度、消息大小等。您将在这里找到其中的一些细节:https://stackoverflow.com/a/480191/146077
祝好运!
https://stackoverflow.com/questions/18412071
复制相似问题