问题标签 [httpexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
15 回答
131945 浏览

asp.net - 为什么我在调用 Response.Redirect() 时收到“发送 HTTP 标头后无法重定向”?

当我打电话时,Response.Redirect(someUrl)我得到以下 HttpException:

发送 HTTP 标头后无法重定向。

为什么我会得到这个?我该如何解决这个问题?

0 投票
7 回答
22496 浏览

asp.net - 诊断“请求超时”HttpExceptions

在 StackOverflow 上,我们每天都会看到一些“请求超时”异常。

事实:

  • 请求超时是默认的 90 秒
  • 仅在 POST 上发生
  • 发布的数据是文本,通常很小 (< 1KB),但可以达到几 KB
  • 服务器变量中未捕获任何表单数据
  • 客户端 UA 多种多样:IE5.5 - 7、Firefox 3.0.5、iPhone、Chrome
  • 客户地点多种多样:英国、法国、美国 - 北卡罗来纳州、俄亥俄州、内布拉斯加州、印第安纳州

我们已经测试了基于服务器的超时(即使用 Thread.Sleep)并且所有表单变量都被正确捕获在异常日志中——这使我们相信客户端在分配的时间内发送请求时遇到了问题。

任何关于如何捕获/调试这种情况的想法都非常受欢迎!

0 投票
2 回答
1068 浏览

asp.net - 您如何使用 ASP.NET 开发服务器测试涉及“远程主机”错误的错误处理?

我们有一个正在生产中的 ASP.NET 网站,它生成报告并将其作为 PDF 文件发送到用户的浏览器。我们的错误报告显示我们遇到了很多这样的异常:

System.Web.HttpException:远程主机关闭了连接。错误代码为 0x80072746。

这些似乎是由于用户在报告生成完成之前关闭浏览器造成的。我添加了代码来处理这个错误,但我找不到测试它的方法。在 Visual Studio 中测试时运行的 ASP.NET 开发服务器不允许远程连接,因此我无法转到另一台机器上尝试。在我的机器上运行网站时关闭浏览器不会产生异常(大概是因为我不是“远程主机”)。

所以,我想我的问题是,如何测试我的新错误处理代码(不将其推送到实时服务器)?

0 投票
16 回答
146991 浏览

c# - 捕获“超出最大请求长度”

我正在编写一个上传函数,并且在文件大于httpRuntimeweb.config 中指定的最大大小(最大大小设置为 5120)的情况下捕获“System.Web.HttpException:超出最大请求长度”时遇到问题。我正在使用一个简单<input>的文件。

问题是在上传按钮的点击事件之前引发了异常,并且在我的代码运行之前发生了异常。那么如何捕获和处理异常呢?

编辑:异常会立即抛出,所以我很确定这不是由于连接速度慢而导致的超时问题。

0 投票
3 回答
1507 浏览

asp.net-mvc - 将视图呈现为字符串,然后重定向导致异常

所以这就是问题所在:我正在通过将完整视图页面呈现为字符串并发送它们来构建要由我的应用程序发送的电子邮件。只要我之后不重定向到站点上的另一个 URL,这将毫无问题。每当我尝试时,我都会收到“System.Web.HttpException:发送 HTTP 标头后无法重定向”。

我相信问题出在我正在重用来自控制器操作的上下文的事实,创建电子邮件的调用来自该操作。更具体地说,来自上下文的 HttpResponse。不幸的是,我无法创建一个使用 HttpWriter 的新 HttpResponse,因为该类的构造函数无法访问,并且使用从 TextWriter 派生的任何其他类都会导致 response.Flush() 本身引发异常。

有人对此有解决方案吗?

0 投票
3 回答
4269 浏览

asp.net-mvc - 将视图呈现到 MVC 中的字符串,然后重定向 - 解决方法?

我无法将视图呈现到字符串然后重定向,尽管2 月的这个答案(我认为是 1.0 版之后)声称这是可能的。我以为我做错了什么,然后我在 7 月读了 Haack 的这个答案,声称这是不可能的。

如果有人让它工作并且可以帮助我让它工作,那就太好了(我会发布代码,错误)。但是,我现在需要解决方法。有一些,但没有什么理想的。有没有人解决这个问题,或者对我的想法有任何意见?

  1. 这是为了呈现电子邮件。虽然我肯定可以在 Web 请求之外发送电子邮件(将信息存储在数据库中并稍后获取),但电子邮件的类型很多,我不想存储模板数据(用户对象、其他一些 LINQ 对象) ) 在数据库中让它稍后呈现。我可以创建一个更简单、可序列化的 POCO 并将其保存在数据库中,但为什么呢?...我只想渲染文本!
  2. 我可以创建一个新的 RedirectToAction 对象来检查标头是否已发送(无法弄清楚如何执行此操作 - try/catch?),如果是,则构建一个带有元重定向的简单页面,一个 javascript 重定向,还有一个“点击这里”链接。
  3. 在我的控制器中,我可以记住我是否呈现了一封电子邮件,如果是,则通过显示视图手动执行 #2。
  4. 我可以在任何潜在的电子邮件呈现之前手动发送重定向标头。然后,我不使用 MVC 基础结构来重定向操作,而是调用 result.end。这似乎最简单,但确实很混乱。
  5. 还要别的吗?

编辑:我已经尝试过 Dan 的代码(与我已经尝试过的一月/二月的代码非常相似),但我仍然遇到同样的错误。我能看到的唯一实质性区别是他的示例使用了视图,而我使用了局部视图。稍后我将尝试使用视图对此进行测试。

这是我所拥有的:

控制器

发送电子邮件()

自定义渲染器

错误

谢谢,詹姆斯

0 投票
1 回答
1541 浏览

asp.net - “无法验证数据”来自我的 .net 2.0 应用程序的 HttpException

我从在 webfarm 中运行的 ASP .net 应用程序中得到了这个异常。

我已经按照这篇文章在所有服务器中配置了静态机器密钥:http: //support.microsoft.com/default.aspx ?scid=kb;en-us;Q312906 。(所有服务器具有相同的机器密钥)

有任何想法吗?

我想知道为什么没有人回应这个问题?只有我吗?

0 投票
2 回答
1973 浏览

asp.net - Respone.Redirect 偶尔会导致错误,但我无法重现它

我有一个网站会在一段时间不活动后将用户注销。这是通过以下代码完成的:

但是在过去的几天里,我三次收到以下异常:

起初错误似乎很明显,因为 logout.aspx 不包含在“Person”文件夹中,而是在根级别,但是为什么每次从“Person”文件夹中注销时都不会发生?我一遍又一遍地执行相同的程序,但错误几乎从未发生过。

有任何想法吗?

0 投票
3 回答
15040 浏览

asp.net-mvc-2 - MVC 2 ASP.NET 4 中的 BinaryWrite 异常“使用自定义 TextWriter 时,OutputStream 不可用”

我有一个使用响应 BinaryWrite 方法呈现流的视图。这一切都在使用 Beta 2 的 ASP.NET 4 下运行良好,但在 RC 版本中引发了此异常:

"HttpException" , "使用自定义 TextWriter 时,OutputStream 不可用。"

该视图是从客户端重定向生成的(使用 Url.Action 帮助器在上一页中的 jquery 替换位置调用当然是呈现链接)。这一切都在一个 iframe 中。

任何人都知道为什么会发生这种情况?

0 投票
2 回答
5167 浏览

vb.net - How to diagnose "the operation has timed out" HttpException

I am calling 5 external servers to retrieve XML-based data for each request for a particular webpage on my IIS 6 server. Present volume is between 3-5 incoming requests per second, meaning 15-20 outgoing requests per second.

99% of the outgoing requests from my server (the client) to the external servers (the server) work OK but about 100-200 per day end up with a "The operation has timed out" exception.

This suggests I have a resource problem on my server - some shortage of sockets, ports etc or a thread lock but the problem with this theory is that the failures are entirely random - there are not a number of requests in a row that all fail - and two of the external servers account for the majority of the failures.

My question is how can I further diagnose these exceptions to determine if the problem is on my end (the client) or on the other end (the servers)?

The volume of requests precludes putting an analyzer on the wire - it would be very difficult to capture these few exceptions. I have reset CONNECTIONS and THREADS in my machine.config and the basic code looks like:

Any suggestions?