gpt4 book ai didi

asp.net - 在 ASP.Net 中,如何在发送页面后运行代码

转载 作者:行者123 更新时间:2023-12-02 10:56:32 25 4
gpt4 key购买 nike

在 ASP.Net 中,我想在页面发送给用户后运行一些代码(日志记录、其他清理)。我不希望此代码干扰客户端接收响应所需的时间。我尝试将此代码放在页面的 OnUnload 部分中,但通过测试(使用断点或繁忙的等待循环),客户端实际上不会显示页面,直到 OnUnload 中的代码执行完毕。即使此时响应对象不再可用,因此我假设缓冲的响应已发送到客户端,但在 OnUnload 执行完成之前,客户端仍然不会显示页面。目前看来唯一可行的方法是启动一个新线程来完成工作,并允许 OnUnload 立即完成。不过,我不知道这是否安全。如果页面发送出去后执行时间过长,服务器会杀死该线程吗?有更正确的方法来实现这一点吗?

最佳答案

基比,

尝试重写 Page.Render 方法并刷新响应,如下所示:

Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
MyBase.Render(writer)

Response.Flush() ' Sends all buffered output to the client

' Run some code after user gets their content
End Sub

我认为此时响应仍然不完整,但用户将在完成运行最终代码之前获得页面呈现的内容。

HTH,

迈克

关于asp.net - 在 ASP.Net 中,如何在发送页面后运行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3569179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com