public class HomeController : AsyncController
{
//
// GET: /Home/
[OutputCache(Duration = 3)]
[AsyncTimeout(10000)]
[HandleError(ExceptionType = typeof(TimeoutException), View = "Error")]
public void IndexAsync()
{
AsyncManager.OutstandingOperations.Increment();
WebRequest wr = WebRequest.Create("http://www.baidu.com/");
wr.BeginGetResponse(asyncResult =>
{
using (WebResponse response = wr.EndGetResponse(asyncResult))
{
Thread.Sleep(3000);
AsyncManager.Parameters["dd"] = Request.UserHostAddress;
AsyncManager.Parameters["de"] = asyncResult.CompletedSynchronously;
AsyncManager.OutstandingOperations.Decrement();
}
},null);
//return View(DateTime.Now);
}
public ActionResult IndexCompleted(string dd, bool de)
{
return View(new {a1=dd,a2=de});
}
}
Asp.net MVC 异步处理。
最新推荐文章于 2020-03-23 16:03:51 发布