我有一个 WCF 服务,除了其他绑定之外,它还使用 WebHttpBinding 来处理 JSON 输入/结果。
我做了一个自定义的 IErrorHandler 实现,以便能够在出现问题时将 StatusCode 设置为 400 并返回 JSON 可理解的消息。这是随处可见的直接实现(这里描述的好方法)。
我的问题是:当我使用 Visual Studio Web Development Server (Cassini) 在本地测试它时,它运行良好。但是,当我将它部署到我的测试服务器(具有 IIS 标准配置的 Windows 2008 和其他一切)时,它不起作用。
当我调用它并使用 Firebug 进行调试时,我得到一个 HttpStatusCode 200 作为返回并且没有响应文本。使用 Fiddler,我得到一个 HttpStatusCode 504 并且根本没有回报。但是,我期望的行为(以及本地发生的情况)是调用带有 responseText 集的 ajax 调用的错误回调。
我远程调试了它,一切看起来都很好。执行管道正常,所有类都被调用,因为它们应该就像它们在本地一样,但它不起作用。
有什么建议么?我几乎没有办法解决这个问题。
非常感谢!