此刻,我的项目有一个方法如何从.Net中的线程向浏览器发送通知?
do_quote(quoteid,userid)
这种方法需要一两分钟,然后重定向到另一个页面。
这已被重写,以便它现在在后台运行并重定向到另一个页面,同时继续执行do_quote的线程。 - 这工作正常。
在一个Default.aspx页面,一个button_click事件:
Dim d as New do_quote_delegate(AddressOf do_quote)
d.BeginInvoke(quoteid,userid, New AsyncCallback(AddressOf Callback),d)
Response.redirect("results.aspx")
内容涉及
Delegate Sub do_quote_delegate(Byval quoteid as integer, Byval userid as integer)
Public Sub do_quote(Byval quoteid as integer, Byval userid as integer)
' Do something for several seconds
End Sub
Public Sub Callback(Byval ar As IAsyncResult)
ar.AsyncState.EndInvoke(ar)
' i think i need something here to trigger a notification
End Sub
这基本上我想要做什么,用户可以继续在网站上做的事情, do_quote方法在后台运行并成功完成其任务。
我想在do_quote完成时向浏览器发送通知。理想情况下,我想改变主页上div的文本(但只是返回一个ALERT JavaScript msgbox将是一个开始)。
据我所知,回调在过程结束时被调用,所以我认为这将是一个理想的地方发送javascript到浏览器,但我不能想我该如何实现这一点。当过程结束时调用回调方法时,有没有人有任何想法可以实现一个非常基本的通知(msgbox,response.write等)到浏览器?谢谢