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