Global.asax中Application_Start的使用

問題描述: c#

    在利用asp.net + c# + IIS開發網站的時候,在Global.asax中開啓了一個監聽socket線程,用來收發數據,在運行的過程當中發現,線程運行一段時間以後便會中止,而後在IIS中瀏覽一下部署的網站,程序又自動運行。此刻心裏變開始困惑究竟是什麼緣由致使這個過程。 服務器

困惑問題: 併發

    1線程無端中止,瀏覽網頁後程序又運行。 asp.net

    2在部署網站成功後,線程不運行。瀏覽網頁後線程運行。 socket

問題1緣由: ide

    IIS7.0部署的時候,程序池的高級設置中:回收-固定時間間隔設置爲0;進程模型-閒置超時(分鐘)設置爲0; 網站

    網站是部署在IIS上的,IIS在把網站綁定到【應用程序池】的時候,【應用程序池】有一個默認設置,能夠右擊【應用程序池】->【高級設置】看到下圖所示: spa

    高級設置中有六個大項爲:常規、CPU、回收、進程孤立、進程模型、快速故障防禦。 操作系統

    既然看到了,不妨瞭解一下幾項的功能,咱們不能只是知其然,不知因此然。下面咱們開個小差,分析一下這個六個功能都是用來幹什麼的。 .net

常規功能:

    .net framwork版本 | v4.0 >>>這個不用講你們也知道是所用的.net framwork的版本。

    隊列長度 | 1000 >>>Internet Information Services (IIS) 限制了在任何給定時間可在隊列中等待的應用程序池請求的最大數量。若是達到此限制,則全部新請求都將被拒絕,並且用戶將收到錯誤消息「503 – 服務不可用」。默認狀況下,IIS 將隊列長度設置爲 1,000 個請求。該默認值可能過低,由於若是隊列長度爲 1,000,Communicator Web Access(2007 R2 發行版)將只能處理大約 650 個併發用戶,此後將開始拒絕新用戶。爲幫助確保 Communicator Web Access 服務的可用性,建議將 IIS 隊列長度值設置爲預期最多用戶數的 1.5 倍。例如,假定您預期在給定時間最多有 2,000 名用戶登陸到 Communicator Web Access。在此狀況下,應將隊列長度設置爲 3,000(即 2,000 名用戶的 1.5 倍)。簡單講,隊列長度直接影響着用戶的併發量。

    名稱 | CenterControl20131230 >>>這個直接忽略,程序池的名稱。

    啓用32位應用程序 | True >>>若是系統爲64位的,有的時候64位的系統不支持開發中寫的一些32位系統標準,因此要設置爲True,而支持32位的程序標準。(好比:64位操做系統不支持Microsoft OLE DB Provider for Jet驅動程序,也不支持更早的Microsoft Access Driver (*.mdb)方式鏈接。)有的時候若是設置爲false,若是iis用64位啓動的應用程序,而VS用的是32位的,在IIS下就會報錯,若是要用32位的dll,就要設置一下。

    託管管道模式 | Integrated >>>IIS7.0能夠支持兩種管道模式:一種是IIS 7.0最新提供的集成管道模式,另外一種是經典管道模式,這種模式是由先前版本的IIS提供的。咱們能夠在應用程序池級設置管道模式,這項功能對IIS管理員尤爲有用,由於這樣既能夠令一臺服務器僅運行一種模式,也能夠令兩種模式同時運行於一臺服務器上。

    自動啓動 | True >>> 若是禁用應用程序池的自動啓動功能,必須手動啓動應用程序池。 當您要在應用程序池啓動前對該應用程序池中的應用程序進行配置或內容更改時,禁用自動啓動功能頗有用。未啓動應用程序池時,對該應用程序池中應用程序的請求將返回 HTTP 503「服務不可用」錯誤。

CPU:

    限制 | 0 >>>爲了在5分鐘內將CPU限制設置爲60%,咱們能夠令限制爲60 000,同時令限制間隔(分鐘)爲5。

    限制操做 | NoAction | KillW3wp>>>NoAction什麼也不作;KillW3wp終止W3wp進程,那麼正如選項名稱所示,此時咱們要終止CPU超限的應用程序池工做進程,防止服務器的其餘部分受到影響,IIS6.0系統將啓動一個新的工做進程,而II7.0不啓動一個新的工做進程,要本身手動去開啓。

回收:


    暫時沒有時間搜材料了,就寫到這裏。

問題2解決:

    在IIS7.5中有個autoStart屬性,能夠設置爲true。在IIS7.0中,自認爲寫個模擬http請求的看門狗,固定的時間時間間隔對網頁進行訪問。

最後推薦書籍:

《IIS7開發與管理徹底參考手冊》

相關文章
相關標籤/搜索