Any*_*are 10 .net c# asp.net session static-members
我可以在Web应用程序中使用静态变量吗?什么是静态的替代品?当我在页面中使用静态变量并且多个用户使用该应用程序时,它会产生冲突数据(不正确的数据).
使用静态成员的限制是什么?
静态成员是否在内存中共享?
Jef*_*itz 18
考虑将共享变量存储在HttpApplication对象或Cache对象中.
但是,如果您尝试单独存储每个用户的值,则应将这些值存储在Session变量中.
Asp.Net中的静态变量在w3svc.exe进程的内存空间中共享,并且不是线程安全的.它们可以由应用程序的任何用户访问和修改.这可能会导致不必要的修改,除非您在这些值的存储周围编写自己的锁机制.
您应该尝试以下语法:
Application["KEY"] = value;
Run Code Online (Sandbox Code Playgroud)
存储共享的应用程序范围的数据和
Session["KEY"] = value;
Run Code Online (Sandbox Code Playgroud)
以每个用户为基础存储数据
您可以使用WebCache对象将数据存储在Web服务器的内存中,并具有到期条件.该语法看起来类似于:
Page.Cache.Insert("KEY", "VALUE", null, Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.Normal, null);
Run Code Online (Sandbox Code Playgroud)
有关管理WebCache对象的语法的更多信息,请访问:
http://msdn.microsoft.com/en-us/library/system.web.caching.cache.aspx
归档时间: |
|
查看次数: |
16771 次 |
最近记录: |