WCF:返回void的方法导致客户端上的“服务器未提供有意义的回复”错误

时间:2012-01-30 20:50:46

标签: wcf

当我有aspNetCompatibilityEnabled =“true”和返回void的服务方法时,我在客户端上收到以下错误。向方法添加非void返回值会使错误消失。关闭aspnet兼容性也会使问题消失。

The server did not provide a meaningful reply; this might be caused by a contract mismatch, a premature session shutdown or an internal server error.

我网站的网页配置包含以下内容:

<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />

    <behaviors>
        <serviceBehaviors>
            <behavior name="">
                <serviceMetadata httpGetEnabled="true" />
                <serviceDebug includeExceptionDetailInFaults="false" />
            </behavior>
        </serviceBehaviors>
    </behaviors>

</system.serviceModel>

有没有人想过为什么会这样?如果没有,有没有人知道如何启用可能有帮助的其他日志记录或跟踪?如何判断它是否“过早关闭会话”?

服务器端代码执行时没有错误。此问题发生在服务方法完成和返回客户端的响应之间。

请不要建议关闭aspnet兼容性作为解决方案。由于各种原因,我需要能够在我的服务中访问HttpContext.Current。

1 个答案:

答案 0 :(得分:0)

您可以按照 link

启用跟踪

您也可以发布服务类框架以及与之相关的配置条目以及您尝试调用服务的客户端代码。这有助于更容易地识别问题。