【发布时间】:2018-06-14 22:50:17
【问题描述】:
我想调用一个从当前 aspx 页面创建 PDF 文件的 aspx 页面,但我不想等待其他页面完成。创建 PDF 需要很长时间,用户并不关心它是否正在创建。
我尝试了 Server.TransferRequest,这似乎有效,除了我正在处理的页面显示了我调用的页面中的“response.write”。我希望被调用的页面简单地运行,并且在调用它之后我不想知道它。
我怎样才能简单地执行另一个页面并“忘记它”。不幸的是,PDF 实用程序需要在实际的 aspx 页面上运行,并且不能在函数中调用。
Protected Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Response.write("This should show on the current page")
Server.TransferRequest("/Invoicing/PDFGenerator.aspx")
Response.write("This second line should show on the current page but does not")
End Sub
我查看了异步信息,但不清楚这是否是我必须在这里做的。
【问题讨论】:
-
把
Server.TransferRequest放在最后。它是转移。我猜这对你不起作用,但为什么呢? -
我明白你的意思。转移的目的是实际转移到另一个页面。我正在尝试找到一种解决方法来实际传输当前的 http 上下文。我只想“调用它并忘记它”,而不是让它影响我所在的页面。当另一个页面完成时(被调用的那个页面),它是来自 OTHER 页面的响应缓冲区,它被发布到当前页面上。我希望呈现我当前的页面,就好像没有发生 Server.TransferRequest 一样。希望有另一种方法可以在没有传输命令的情况下做到这一点。如果没有,客户将只需要等待。 :-(
-
我刚刚在处理文件时遇到了this。也许这种方法可以工作(异步/等待)。我不太了解,你得深入挖掘看看它是否适用。
-
感谢您的建议。感谢你们抽出时间来帮助我。
标签: asp.net asynchronous server.transfer