在WCF服务/暂存中调试HTTP 500(内部服务器错误)

ash*_*999 8 wcf iis-7

我有一些在本地运行良好的WCF服务; 客户端可以使用它们,服务器正在按预期将数据放入DB中.问题是当我将这些部署到临时机时,我所能看到的只是HTTP 500错误.

如何开始调试问题?

鉴于它只是在暂存而不是在我的本地开发机器上,我认为它是某个地方的IIS配置问题.

当我使用Fiddler来查看正在发送的内容以及响应的内容时,我可以看到(正如预期的那样)正确的请求数据,并且只有500作为响应 - 没有进一步的细节.

我对WCF和IIS非常环保,所以它可能是显而易见的; 我用过aspnet_iisreg,部署了我的.svc文件和所有构建的DLL /文件bin; 也许我错过了什么.

我查看了IIS日志,但它们非常吝啬; 那里没有错误信息(或者我可能在错误的地方看?)

(比解决具体问题更重要的是弄清楚如何查看有关错误的足够详细信息,以便我自己解决问题.)

编辑:我当然首先检查了事件日志 - 并且令人惊讶的是,没有发现任何异常提及.所以我假设服务至少被调用,并且中间出现了错误.

Lad*_*nka 6

查找错误的第一个位置是服务器上的事件日志.应该有基本信息,为什么不处理请求.如果它与WCF相关,您可以打开WCF跟踪并检查生成的日志中的更多详细信息.


ash*_*999 1

事实证明,由于返回的数据集很大,服务器返回了 500;WCF 对可以返回的数据(和字符串)的大小设置了一些限制,以防止 DOS 攻击。我通过增加限制并减少返回数据的大小(如果适用)解决了这个问题。