我正在尝试确定要在响应非空的情况下应用的正确状态代码。
当用户请求文件且服务器中不存在该文件时。用户以xml格式返回错误消息。我有自己的日志,但我想尝试在IIS日志中显而易见。
目前,IIS会为所有响应记录状态200。但我想设置一个不同的状态代码是服务器找不到该文件。
问题是在单元测试期间,如果状态代码不是200,我发现响应为空。我试过(410,206,204)。因此客户端不会收到错误消息。
只想知道我是否可以设置任何状态代码并发送错误消息。
我正在使用C#ASP.NET Web服务。
感谢。
答案 0 :(得分:1)
为什么要发送HTTP状态代码而不是您自己的应用程序状态代码?
IIS日志永远不会记录您在XML中返回的代码,它只会记录从服务于您的Web服务的服务器收到的状态代码。就IIS而言,您的XML仅仅是数据,除非您安装了特殊的处理程序或过滤器或其他东西。否则,IIS只会关注HTTP响应标头的值。
修改强>
当您手动设置HTTP状态代码时,服务器仍将遵循HTTP规范的指导原则,该规范指出只有200个将伴随完整的响应主体。
答案 1 :(得分:0)
HTTP / 1.1 404 - 未找到是合适的 - 大多数服务器都允许您返回内容,因为通常您希望返回用户可读的HTML页面以显示您没有实际上打了一个真实的页面。