2011-03-09 45 views
1

我试图确定正确的状态代码以应用响应不为空的地方。具有有效的xml字符串响应的HTTP状态代码

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

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

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

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

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

谢谢。

回答

1

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

IIS日志永远不会记录您以XML返回的代码,它只会记录从服务于您的Web服务的服务器接收到的状态代码。就IIS而言,您的XML只是数据,除非您有特殊的处理程序或过滤器或已安装的东西。否则,IIS将只关心你的HTTP响应头的值。

编辑:
当你设置HTTP状态代码manaully服务器仍然将其中规定,只有200将通过一个完整的响应主体陪同HTTP规范的准则范围内行事。

+0

我明白,我有我自己的应用程序状态码和日志,但我想在IIS日志中明显地出现错误。我尝试在响应头中设置HTTP状态码(410,206,204),但使用这些代码服务器不返回任何响应内容。所以它的xml错误信息或状态码。我正在努力实现这两个目标。希望我很清楚 – fireBand

+0

@fireBand看到我的编辑 – squillman

0

HTTP/1.1 404 - 未找到是合适的 - 并且大多数服务器将允许您返回内容,因为通常您想返回一个用户可读的HTML页面,以表明您并未实际触及真实页。

相关问题