代码之家  ›  专栏  ›  技术社区  ›  roufamatic

WCF客户端应用程序挂起-需要重新生成建议

wcf
  •  0
  • roufamatic  · 技术社区  · 15 年前

    我有一个wcf应用程序,有几千个客户端连接到一对在iis下运行的服务。我注意到这些客户中的一些进入了挂起状态,我正试图重现这一点。

    当第一次注意到这个问题时,我没有修改节流配置,服务被设置为ConcurrencyMode.Single。有一件事我注意到,服务器上的IISRead导致许多客户挂机。然而,在我的本地计算机上运行针对iis的客户端上使用相同的特技似乎并不会导致问题。

    我只在野外捕捉到一次,但当时没有启用调试。我亲眼目睹的症状是,客户端似乎试图打开连接到Web服务器,但没有成功。在使用fiddler进行监视时,我没有看到有人试图到达服务端点。显然这让我怀疑客户代理。

    我对发生的事情有一个非常明确的预感——即当服务抛出异常时,我一直在使用“close()”而不是“abort()”,我相信这会导致通道损坏。但考虑到要推出新版本的努力, 我需要通过让我自己机器上的客户挂断来重现这个问题 在我开始对代码进行更改之前。

    我应该从哪里开始?

    提前谢谢你,

    流氓的

    2 回复  |  直到 15 年前
        1
  •  0
  •   Graham Clark    15 年前

    你打开日志了吗?这有助于诊断问题。它可以完全在配置中完成,所以不需要建立新的版本。使用服务配置编辑器工具将其全部设置好。这个 Visual Studio 2008 Training Kit 有一个关于如何使用日志和日志查看器的好教程。

        2
  •  0
  •   roufamatic    15 年前

    我想这是一个太模糊的问题,尽管我很好奇人们可能会建议什么。事实证明,我的工作站和生产环境之间有一个微小的差别,一旦解决,我就可以看到问题了。在这种情况下,不知何故使用fiddler来监视流量实际上防止了错误的发生!现在再问一个问题。