Asp.net 将异步电子邮件发送到其他类后显示javascript警报()

Asp.net 将异步电子邮件发送到其他类后显示javascript警报(),asp.net,vb.net,multithreading,email,Asp.net,Vb.net,Multithreading,Email,我有一个VB ASP.NET应用程序,在某些时候它必须发送一些电子邮件(使用System.NET.Mail) 我想在后台发送邮件,发送完成后会收到一些通知,以了解电子邮件是否正确发送(提醒()用户)。我尝试使用SendAsync电子邮件,问题是它以这种方式冻结UI,我还尝试将所有发送电子邮件的方法封装到一个线程中,但在此之后,Httpcontext.current对象始终为空,因此我无法显示警报() 我试图搜索Stackoverflow的解决方案,但没有任何运气……您如何创建调用电子邮件发送代码

我有一个VB ASP.NET应用程序,在某些时候它必须发送一些电子邮件(使用System.NET.Mail)

我想在后台发送邮件,发送完成后会收到一些通知,以了解电子邮件是否正确发送(提醒()用户)。我尝试使用SendAsync电子邮件,问题是它以这种方式冻结UI,我还尝试将所有发送电子邮件的方法封装到一个线程中,但在此之后,Httpcontext.current对象始终为空,因此我无法显示警报()


我试图搜索Stackoverflow的解决方案,但没有任何运气……

您如何创建调用电子邮件发送代码的HTTP请求?你是在做一个完整的回邮吗?你在使用AJAX吗?我实际上是这样做的:AddHandler SmtpClient.SendCompleted,AddressOf SendCompletedCallback SmtpClient.SendAsync(电子邮件,Nothing),然后在SendCompletedCallback()中,我使用ScriptManager.RegisterStartupScript(HttpContext.Current.CurrentHandler.GetType(),“显示”,“警报(”)警报“');”,True)我试图显示警报。不,我不使用AJAX。您需要通过AJAX向服务器发出请求。一旦服务器异步完成其工作,它可以向您返回一个结果,您可以使用该结果通知用户等。您不需要在这里考虑多线程,IIS将为您管理该结果。请看下面的示例:。您可以使用它异步向web服务甚至代码隐藏方法发出请求。