0

我想创建一个文件下载。这是它的原始代码:

Response.Clear()
Response.ContentType = "text/html"
Response.AddHeader("Content-Disposition", String.Format("attachment; filename=""Dashboard_{0}.html""", time))
Response.Write(html)
Response.End()

看起来还不错。文件已正常下载,但我在输出中发现以下消息。

在 mscorlib.dll 中发生了“System.Threading.ThreadAbortException”类型的第一次机会异常

我试图寻找如何解决这个异常的解决方案,我看到每个人都在谈论Response.End()HttpContext.Current.ApplicationInstance.CompleteRequest().

当我尝试它时,异常不再发生,但结果更糟 - 更改后没有下载文件。就像我只是删除Response.End()并添加任何内容一样。

在这种情况下,我应该怎么做才能在需要下载时摆脱异常?还是我应该忽略异常,因为它似乎不会产生任何不利的结果?

4

1 回答 1

0

这里 response.End()

为了模仿 ASP 中 End 方法的行为,此方法尝试引发 [ThreadAbortException] 异常。

请看一下这个 https://docs.microsoft.com/en-us/dotnet/api/system.web.httpresponse.end?redirectedfrom=MSDN&view=netframework-4.8#System_Web_HttpResponse_End

也尝试删除

响应.清除()

于 2019-06-10T07:30:59.060 回答