2009-04-20 122 views

回答

1

如果將會話保存在數據庫服務器或狀態服務器中,則Session_End事件不會被觸發。否則,我認爲應該沒有問題。

而且同時遞增/遞減計數器,你必須得到一個像這樣的對象上的鎖 -

lock(<some shared object>) 
{ 
    counter++; 
} 

您也可以嘗試考慮看看this

+1

鎖定`global.asax`應用程序對象?這是ASP.NET應用程序中的絕對禁止! – 2009-04-20 10:21:49

2

至少,這個解決方案有一個線程問題(其它問題旁邊,你所提到的,我不會涵蓋可能影響你):

遞增和遞減任務應該以原子的方式使用來完成Interlocked.IncrementInterlocked.Decrement方法而不是++--

+0

現在更改了代碼段。 – Kirtan 2009-04-20 10:24:08