【问题标题】:Intermittent problem with WCF serviceWCF 服务的间歇性问题
【发布时间】:2009-10-08 10:11:43
【问题描述】:

我们有一个托管在 heart internet 上的网站,发现了一些奇怪的行为,目前还不知道是什么原因造成的。

我们的 WCF Web 服务似乎每隔一段时间就会停止工作。服务器将返回服务启动失败的消息(System.ServiceModel.ServiceActivationException)。我不确定如何真正看到这个异常是什么。

奇怪的是,如果我们为我们的 web 项目重新上传 dll 和 pdb,并通过我们的 hosts 配置工具手动回收应用程序池,web 服务将再次运行。

有人知道为什么会发生这种情况吗?想必这是主机的问题,但知道他们的技术支持有多差,我不愿意在没有任何解决问题的想法的情况下去找他们。

提前致谢

【问题讨论】:

    标签: asp.net wcf iis


    【解决方案1】:

    您可以尝试添加此服务行为 (serviceDebug) 以在您的消息中获取异常的详细信息(但请注意:其他人也可能会获取所有这些详细信息,因此您可能不想启用此功能。 ...)

    <system.serviceModel>
       <behaviors>
          <serviceBehaviors>
             <behavior name="YourServiceBehavior">
                 <serviceDebug includeExceptionDetailInFaults="True" />
             </behavior>
          </serviceBehaviors>
       </behaviors>
    

    当然你必须设置服务的behaviorConfiguration 来引用这个配置:

    <service name="....." behaviorConfiguration="YourServiceBehavior" .. >
    

    如果发生异常,这可以为您提供更多信息。

    其次:你到底为什么要上传 pdb 文件?这些仅包含调试符号 - 通常在生产系统上既不需要也不需要(但我认为这与手头的问题没有任何关系)。

    马克

    【讨论】:

    • 感谢您的建议。生病添加配置设置,看看它会出现什么。关于 pdb 文件 - 我认为它是必需的 :) 我只是在 VS2008 中使用默认设置发布站点,并且 pdb 文件与 bin 文件夹中的 dll 一起输出。没有专门研究什么是 pdb 文件,我只是假设它是需要的。以后不上传了。