ASP.net MVC4 AsyncController异步action无法异步执行?


最新需要用到mvc4 的异步action,以实现页面ajax同时指定一个耗时查询。

使用了AsyncController。

参考文章:

http://www.oschina.net/question/565065_68409


public class DevController : AsyncController
{


        public Task Article2(string name)
        {
            return Task.Factory.StartNew(() =>
            {
                string path = ControllerContext.HttpContext.Server.MapPath(string.Format(@"\articles\{0}.html", name));
                using (StreamReader reader = new StreamReader(path))
                {
                    return reader.ReadToEnd();
                }
            }).ContinueWith(task =>
            {
                return Content((string)task.Result);
            });
        }
}



执行起来没有问题,但是实际中使用发现,几个ajax调用虽是同时发起请求,但是服务器段还是同步依次执行每个action。。。。


原来需要增加如下内容:

    [SessionState(SessionStateBehavior.ReadOnly)]
public class DevController : AsyncController
{
 
  
。。。。。。。
}




你可能感兴趣的:(ASP.net)