IIS之應用程式集區-Web園-最大背景工作處理序>1時系統出現問題

來源:互聯網
上載者:User

問題歸納:

1,採用企業庫Cache作為緩衝後出現部分命中不到緩衝對象的情況;靜態變數計數器也沒有按照預想的結果輸出資料。

2,Session取不到的情況,出現在web.config配置為sessionState mode="InProc"

 

問題原因:

    當最大背景工作處理序>1(=n)的時候,iis會為web應用開闢n個w3wp.exe(或者aspnet_wp.exe)來提供服務,而這些進程是獨立的,包括靜態變數和緩衝等等,等於完全開啟了一個新的應用伺服器;

    當iis接受瀏覽器請求的時候, iis會自動分配請求到不同的服務進程,這時候,如果前後兩次請求沒有分配到同一個服務進程,那上一次諸如給靜態變數賦的值、寫入的緩衝等在本次請求中得不到了。

 

問題解決:

方法一:採用 sessionState mode="stateServer" 專門開啟asp.net的狀態服務,讓多個服務進程共用Session,配置為:<sessionState mode=”stateServer” stateConnectionString=”tcpip=xxx.xxx.xxx.xxx:xxxx″ timeout=”20″ />

方法二:採用 sessionState mode="SQLServer" 將會話存入資料庫,配置為:<sessionState mode="SQLServer" sqlConnectionString="省略..." cookieless="false" timeout="20" />,注意需要初始化資料庫

方法三:採用memcached來儲存Session和緩衝對象。

 

總結:

      目前項目中用Spring.Net和企業庫的Cache都需要升級一下了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.