Jon*_*ood 36 asp.net http-response-codes
我正在ASP.NET 4.0和IIS7中编写HTTP处理程序,我需要生成一个文件未找到的条件.
我从Mathew McDonald在C#2010中的新书Pro ASP.Net 4中复制了以下代码.(响应变量是当前HttpResponse的一个实例.)
response.Status = "File not found";
response.StatusCode = 404;
Run Code Online (Sandbox Code Playgroud)
但是,我发现第一行生成了运行时错误 HTTP status string is not valid.
如果,而不是上面的行,我使用以下内容:
response.Status = "404 Not found";
Run Code Online (Sandbox Code Playgroud)
然后一切似乎都很好.实际上,我甚至看到response.StatusCode自动设置为404.
我的问题是我不希望它在生产服务器上失败.如果我能理解实现这一目标的"正确"方法,我会感觉好多了.为什么第一种方法适用于Mathew McDonald而不适合我?第二种方法总是可靠吗?
有人可以提供任何提示吗?
Fré*_*idi 62
那是因为Status属性是发送给客户端的完整状态行,而不仅仅是消息.
你可以写:
response.Status = "404 File not found";
Run Code Online (Sandbox Code Playgroud)
或者,最好:
response.StatusCode = 404;
response.StatusDescription = "File not found";
Run Code Online (Sandbox Code Playgroud)
请注意,根据其文档,HttpResponse.Status不推荐使用HttpResponse.StatusDescription.
| 归档时间: |
|
| 查看次数: |
21043 次 |
| 最近记录: |