zoukankan      html  css  js  c++  java
  • asp.net mvc中异步控制器的诡异

    asp.net mvc中异步控制器的诡异

    mvc中异步控制器提供异步anction的机制
    实现方式很简单

    1.controller继承AsyncController
    2.原来的一个action方法,变成两个action方法:一个后缀名称+Async,一个后缀名称加Completed
    3.其他都没有任何变化,请求路由,页面view等等都不变化,只是一个action变成了两个action

    代码:
    public class DefaultController : AsyncController
        {
            //
            // GET: /Default/Default/


            public void IndexAsync()
            {
                ViewData["d1"] = System.DateTime.Now.ToString();
                AsyncManager.OutstandingOperations.Increment();
                AsyncManager.OutstandingOperations.Decrement();

                AsyncManager.Parameters["a"] = "abc";
                ViewData["d2"] = System.DateTime.Now.ToString();

                Thread.Sleep(2000);
            }

            public ActionResult IndexCompleted()
            {

                var x = AsyncManager.Parameters["a"];
                return View();
            }
            //public ActionResult Index()
            //{
            //    ViewData["d1"] = System.DateTime.Now.ToString();
            //    System.Threading.Thread.Sleep(2000);
            //    ViewData["d2"] = System.DateTime.Now.ToString();
            //    return View();
            //}

        }


    我可能对异步不够了解,异步以后,我认为不论多少请求都可以进IndexAsync方法,应该都不会报503线程不够服务器异常的错误信息
    。我在本机把并发连接设置成很小,然后开启了几个多线程程序来访问本机的一个url地址,开启第二个多线程测试成员的时候就已经开报错503,比较奇怪

    求解

    本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。

  • 相关阅读:
    第四次作业和总结
    第三次寒假作业(剧毒)
    小问题+电梯
    寒假学习计划
    印像最深的三位老师
    Objective-c——UI基础开发第十一天(UICollectionView)
    Objective-c——UI基础开发第十天(自动布局)
    Objective-c——UI基础开发第九天(QQ好友列表)
    Objective-c——UI基础开发第八天(QQ聊天界面)
    Objective-c——UI基础开发第七天(自定义UITableView)
  • 原文地址:https://www.cnblogs.com/zjypp/p/2319270.html
Copyright © 2011-2022 走看看