异步操作只能在 PreRenderComplete 事件之前的页上启动
广告:
“/”应用程序中的服务器错误。
此上下文中不允许异步操作。启动异步操作的页必须将 Async 属性设置为 true,并且异步操作只能在 PreRenderComplete 事件之前的页上启动。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidOperationException: 此上下文中不允许异步操作。启动异步操作的页必须将 Async 属性设置为 true,并且异步操作只能在 PreRenderComplete 事件之前的页上启动。
源错误:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪:
[InvalidOperationException: 此上下文中不允许异步操作。启动异步操作的页必须将 Async 属性设置为 true,并且异步操作只能在 PreRenderComplete 事件之前的页上启动。]
System.Web.AspNetSynchronizationContext.OperationStarted() +4453074
System.ComponentModel.AsyncOperation..ctor(Object userSuppliedState, SynchronizationContext syncContext) +50
System.ComponentModel.AsyncOperationManager.CreateOperation(Object userSuppliedState) +47
System.Net.Mail.SmtpClient.SendAsync(MailMessage message, Object userToken) +1153
[SmtpException: 发送邮件失败。]
Mvccom.EmailAsync.SendAsync(String subject, String body, String to, String displayname, Action`1 _actinCompletedCallback) in E:\aspnet2.0\53BK公司网站-net-家里\Mvccom\EmailAsync.cs:124
Mvccom.EmailAsync.SendMail(String subjectStr, String bodyStr, String fromName, String toEmail) in E:\aspnet2.0\53BK公司网站-net-家里\Mvccom\EmailAsync.cs:23
Mvcb2b.b2badmin.Msgreply.Reply_Click(Object sender, EventArgs e) in E:\aspnet2.0\53BK公司网站-net-家里\Mvcb2b\b2badmin\Msgreply.aspx.cs:233
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +115
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +140
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +29
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2981
版本信息: Microsoft .NET Framework 版本:2.0.50727.8793; ASP.NET 版本:2.0.50727.8762
解决方法:<%@ Page Language="C#" AutoEventWireup="true" ...... Async="true" %> 加上这个就可以 Async="true"
广告: