2009-04-20 95 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