zoukankan      html  css  js  c++  java
  • ASP.NET 请求处理 四 (Controller基本特性)

    public class TestController : Controller
        {
            [ThreadStatic]
            static ThreadInfo obj;
    
            [HttpGet]
            public string Index()
            {
                return "123456";
            }
    
            [HttpGet]
            public string bbb()
            {
                bool bnew = obj == null;
                if (bnew)
                {
                    obj = new ThreadInfo();
                    obj.id = Thread.CurrentThread.ManagedThreadId.ToString();
                    obj.name = "controller hash="+this.GetHashCode();
                }
                return bnew+"______class info{ hash:"+this.GetHashCode().ToString()
                    +",thread id:"+Thread.CurrentThread.ManagedThreadId.ToString()
                    +",_________"+obj.ToString();
            }
        }
    
        class ThreadInfo
        {
            public String id;
            public String name;
            public override string ToString()
            {
                return "threadinfo{id:"+id+",name:"+name+",thread obj hash:"+GetHashCode().ToString();
            }
        }
        //True______class info{ hash:26130175,thread id:67,_________threadinfo{id:67,name:controller hash=26130175,thread obj hash:19998225
        //False______class info{ hash:23697479,thread id:67,_________threadinfo{id:67,name:controller hash=26130175,thread obj hash:19998225
        //True______class info{ hash:55575390,thread id:74,_________threadinfo{id:74,name:controller hash=55575390,thread obj hash:18085517
        //False______class info{ hash:7922750,thread id:74,_________threadinfo{id:74,name:controller hash=55575390,thread obj hash:18085517
        //False______class info{ hash:26960933,thread id:67,_________threadinfo{id:67,name:controller hash=26130175,thread obj hash:19998225
        //False______class info{ hash:64947243,thread id:67,_________threadinfo{id:67,name:controller hash=26130175,thread obj hash:19998225

    1.默认每次请求都会生成一个controller实例 (这个和java-spring里面默认的controller模式有区别)

    2.请求会从线程池中取线程来处理

  • 相关阅读:
    Redis5.x五种数据类型常见命令
    Redis5.x安装以及常见数据类型
    《Redis5.x入门教程》正式推出
    PPT制作套路指南
    如何更优雅地对接第三方API
    软件开发要质量还是要效率?
    前后端分离对于开发人员的挑战
    Spring中老生常谈的FactoryBean
    消费端如何保证消息队列MQ的有序消费
    《ElasticSearch6.x实战教程》之实战ELK日志分析系统、多数据源同步
  • 原文地址:https://www.cnblogs.com/dint/p/14067352.html
Copyright © 2011-2022 走看看