1. 程式人生 > 實用技巧 >ASP.NET 請求處理 四 (Controller基本特性)

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.請求會從執行緒池中取執行緒來處理