【发布时间】:2011-04-15 22:18:58
【问题描述】:
我在 IIS 中设置了 WCF Silverlight(3) Http Duplex 服务。在我在 IIS 中回收 ApplicationPool 之前,它运行良好。
连接的 SL 客户端随后调用此双工服务上的方法,然后开始从 Web 服务获取 TimeoutExceptions/CommunicationExceptions。增加客户端的超时没有帮助。
回收似乎不会终止服务器和客户端之间的底层(双工)http 连接。 当客户端随后调用此服务上的方法时,IIS 无法正确处理它。
如果我在客户端上重新创建代理,一切都会再次正常。问题是,我怎么知道我需要重新建立与服务器的连接? 不是 Web 上的所有示例仅显示了如何处理断开连接的客户端,而不是在 Web 服务被回收的情况下您会做什么。完全重新启动 IIS 是可以的,因为在这种情况下 http 连接会关闭。
非常感谢任何输入。
【问题讨论】:
-
我建议对任何严肃的 WCF 工作使用自托管,对于双工方案更是如此。自托管 WCF 服务真的没那么难,然后你就不用依赖 AppPools 回收之类的东西了....
标签: silverlight wcf iis