На данный момент у моего проекта есть метод
do_quote(quoteid,userid)
Этот метод занимает минуту или две, а затем перенаправляет на другую страницу.
Это было переписано так, что теперь оно работает в фоновом режиме и перенаправляет на другую страницу, пока продолжается поток, в котором находится do_quote. - Это отлично работает.
В событии button_click на странице default.aspx:
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).
Насколько я понимаю, Callback вызывается в конце процесса, поэтому я думаю, что это было бы идеальным местом для отправки javascript в браузер, но я не могу думать, как я мог бы реализовать это. Кто-нибудь есть какие-либо идеи о том, как я мог бы реализовать очень простое уведомление (msgbox, response.write и т. Д.) Для браузера, когда метод обратного вызова вызывается в конце процесса? Спасибо