asp.net mvc 设置一个action的访问人数,达到上线排队

/// <summary>
        /// 1,对访问此action的用户进行异步处理,然后将此异步加入到全局的list当中,
        /// 再等待异步处理完成,如果完成,将此异步操作从全局的list中删除,给前端返回处理结果
        /// 2,设置全局list要存放的处理人数
        /// 3,如果达到上限,直接给用户返回请排队,然后全端排队等待,等待五分钟之后接着提交
        /// </summary>
        /// <returns></returns>
        public string Index()
        {
            TaskFactory taskFactory = new TaskFactory();
            if (EBS.Common.Common.ListTask.Count > 1000)
            {
                return "请排队!";
            }
            Task task = taskFactory.StartNew(() =>
            {
                //do it
                Thread.Sleep(1000*60);
            });
            lock (EBS.Common.Common.ListTask)
            {
                EBS.Common.Common.ListTask.Add(task);
            }
            if (!task.IsCompleted)
                task.Wait();
            lock (EBS.Common.Common.ListTask)
            {
                if(EBS.Common.Common.ListTask.Exists(x=>x==task))
                    EBS.Common.Common.ListTask.Remove(task);
            }
            return "完成!";

        }

原文地址:https://www.cnblogs.com/strayheart/p/10497416.html

时间: 2024-08-27 20:34:49

asp.net mvc 设置一个action的访问人数,达到上线排队的相关文章

[ASP.NET MVC2 系列] ASP.Net MVC教程之《在15分钟内用ASP.Net MVC创建一个电影数据库应用程序》

[ASP.NET MVC2 系列]      [ASP.NET MVC2 系列] ASP.Net MVC教程之<在15分钟内用ASP.Net MVC创建一个电影数据库应用程序>      [ASP.NET MVC2 系列] ASP.Net MVC教程之<ASP.NET MVC 概述>     [ASP.NET MVC2 系列] 理解MVC应用程序的执行过程     [ASP.NET MVC2 系列] ASP.NET MVC Routing概述      [ASP.NET MVC2

ASP.NET MVC提交一个较复杂对象至WCF Service

前一篇<jQuery.Ajax()执行WCF Service的方法>http://www.cnblogs.com/insus/p/3727875.html 我们有练习在asp.net mvc应用程序中,POST 数据去wcf service并执行方法.本篇的练习是提交较复对象至wcf service执行方法.前一篇中,它只传递两个参数.如果我们平时开发,需要传递过多的参数时,那得需要写很多个参数.因此产生此篇,把较多个参数,创建为一个对象.然后只传递这个对象至wcf service即可. 下面

这算是ASP.NET MVC的一个大BUG吗?

这是昨天一个同事遇到的问题,我觉得这是一个蛮大的问题,而且应该不是ASP.NET MVC的设计者有意为之,换言之,这可能是ASP.NET MVC的一个大Bug.StackOverflow上也有对这个问题的描述http://stackoverflow.com/questions/1775170/asp-net-mvc-modelstate-clear 闲话少说,我们通过一个简单的问题重新这个问题.首先我们 定义了如下一个默认的HomeController,它具有一个默认Action方法Index.

ASP.NET中设置一个定时器来定时更新 转

asp.net 定时器 比较少用,  中国红木网这是一个相当实用的功能,有了RSS博客镜像,就不需要在多处同时发布博客日志了.比如你同时在新浪上有自己的博客,又同时有自己的个人博客站点,那么你只需要在新浪上发布博客日志,而个人博客站点通过RSS博客镜像功能将新浪博客上发布的新日志自动更新到站点中.我们在ASP.NET的,至于asp,由于其天生的局限性,可能无法直接在Web应用程序中完成这一功能,而需要额外的Windows应用程序的支持.1. 管理RSS博客镜像首先我们需要在RSS博客镜像,需要管

(五)ASP.NET MVC 中关于 Action 的参数

在ASP.NET MVC 的 Controller 类下有多个 Method,如果这些 Method 都是 public 修饰的和返回值类型是 ActionResult 类型的,这些方法就时 Action.通过 "Controller 名字/方法名" 访问的时候就会执行对应的方法. Action 有三种类型的参数:普通参数,Model 类, FormCollection. 普通参数:构架会自动把用户请求的值根据参数名字映射到对应的值. Model 类:这种类叫 ViewModel Fo

ASP.NET MVC+Entity Framework 4.1访问数据库

Entity Framework 4.1支持代码优先(code first)编程模式:即可以先创建模型类,然后通过配置在EF4.1下动态生成数据库. 下面演示两种情形: 1.代码优先模式下,asp.net mvc数据访问 2.传统模式,先创建数据库和表,配置连接字符串,再生成模型 第一种情况的步骤: (1)使用空模板,创建ASP.NET MVC3.0(或4.0)项目,假定项目名:MVC_Student 注意:创建完项目后,项目会自动引用EF4.1 (2)在Model文件夹下,创建数据库上下文类:

解决asp.net mvc中*.resx资源文件访问报错

个人笔记 问题重现 在asp.net mvc中,使用资源文件会出现一个问题,例如: 紧接着我进入视图界面,输入下面代码: 1 <a href="javascript:void(0);">测试@KuaiLeYouNi.Web.AppResource.Space</a> 以上编译不会报错,但是运行是会报错:“编译器错误消息: CS0122: “KuaiLeYouNi.Web.AppResource”不可访问,因为它受保护级别限制” 问题解决 原来资源文件默认的访问修

ASP.NET MVC XML绑定Action参数列表

昨天查看了 ASP.NET MVC 的生命周期,并没有找到类似的解决方案. 不过今天在 stackoverflow上找到了解决方案,没耐心的同学可以直接戳原文拷贝代码,原文地址:How to pass XML as POST to an ActionResult in ASP MVC .NET 看了外国同学的说明,才发现 MVC居然可以根据不同的请求 Content Type来选择 ValueProvider,这样提供了很好的扩展. MVC本身提供了 JsonValueProviderFacto

【ASP.NET】——统计在线人数、历史访问人数

北大青鸟的视频中讲了很多很实用的例子,这是其中一个,在实现的过程中,遇到一些问题,但也都在老师的指导下和通过查阅资料解决了,感觉收获颇丰. 在做这个例子的时候发现:ASP.NET的Application和Session统计在线人数和历史访问人数时不准.明明已经关闭浏览器了,在线人数却没少,重新登录,历史人数也没增加.难道是我做错了,No.原因在这里. 首先,先简单说一下Application和Session. Application:应用程序类的对象.类比到这个程序,服务器端的统计人数程序就相当