具有有效xml字符串响应的Http状态代码

时间:2011-03-09 19:03:34

标签: c# http http-status-codes

我正在尝试确定要在响应非空的情况下应用的正确状态代码。

当用户请求文件且服务器中不存在该文件时。用户以xml格式返回错误消息。我有自己的日志,但我想尝试在IIS日志中显而易见。

目前,IIS会为所有响应记录状态200。但我想设置一个不同的状态代码是服务器找不到该文件。

问题是在单元测试期间,如果状态代码不是200,我发现响应为空。我试过(410,206,204)。因此客户端不会收到错误消息。

只想知道我是否可以设置任何状态代码并发送错误消息。

我正在使用C#ASP.NET Web服务。

感谢。

2 个答案:

答案 0 :(得分:1)

为什么要发送HTTP状态代码而不是您自己的应用程序状态代码?

IIS日志永远不会记录您在XML中返回的代码,它只会记录从服务于您的Web服务的服务器收到的状态代码。就IIS而言,您的XML仅仅是数据,除非您安装了特殊的处理程序或过滤器或其他东西。否则,IIS只会关注HTTP响应标头的值。

修改
当您手动设置HTTP状态代码时,服务器仍将遵循HTTP规范的指导原则,该规范指出只有200个将伴随完整的响应主体。

答案 1 :(得分:0)

HTTP / 1.1 404 - 未找到是合适的 - 大多数服务器都允许您返回内容,因为通常您希望返回用户可读的HTML页面以显示您没有实际上打了一个真实的页面。