asp.net – 设置Response.Status生成“HTTP状态字符串无效”异常

前端之家收集整理的这篇文章主要介绍了asp.net – 设置Response.Status生成“HTTP状态字符串无效”异常前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在ASP.NET 4.0和IIS7中编写一个HTTP处理程序,我需要生成一个文件未找到条件。

我复制了下面的代码从Mathew McDonald的新书,ASP ASP.Net 4在C#2010.(响应变量是当前HttpResponse的一个实例)。

response.Status = "File not found";
response.StatusCode = 404;

但是,我发现第一行生成运行时错误HTTP状态字符串无效。

如果,而不是上面的行,我使用以下:

response.Status = "404 Not found";

然后一切似乎工作正常。事实上,我甚至看到response.StatusCode设置为404自动

我的问题是,我不希望这在生产服务器上失败。所以如果我能理解“正确”的方式来实现这一点,我会感觉好多了。为什么第一种方法适用于马修·麦当劳,但不适合我?而第二种方法总是可靠的?

任何人都可以提供任何提示

解决方法

这是因为 Status属性是发送给客户端的完整状态行,不仅是消息。

你可以写:

response.Status = "404 File not found";

或者,优选地:

response.StatusCode = 404;
response.StatusDescription = "File not found";

请注意,根据其文档,HttpResponse.Status不赞成使用HttpResponse.StatusDescription

猜你在找的asp.Net相关文章