加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 19:09:17 所属栏目:asp.Net 来源:网络整理
导读:我在ASP.NET 4.0和IIS7中编写一个HTTP处理程序,我需要生成一个文件未找到条件。 我复制了下面的代码从Mathew McDonald的新书,ASP ASP.Net 4在C#2010.(响应变量是当前HttpResponse的一个实例)。 response.Status = "File not found";response.StatusCode =
我在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。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读