【发布时间】:2011-02-02 19:40:03
【问题描述】:
我有一个简单的 Web 服务,其中我有一个静态类,它有一个静态集合来记住活动令牌。
我只想确保令牌集合一直存在到下一次 iisreset 或应用程序池回收。
那么在Application bag和static class中记住状态有什么区别呢?
谢谢,
【问题讨论】:
标签: c# asp.net garbage-collection
我有一个简单的 Web 服务,其中我有一个静态类,它有一个静态集合来记住活动令牌。
我只想确保令牌集合一直存在到下一次 iisreset 或应用程序池回收。
那么在Application bag和static class中记住状态有什么区别呢?
谢谢,
【问题讨论】:
标签: c# asp.net garbage-collection
微软 (says):
ASP.NET 包含应用程序状态,主要是为了与经典 ASP 兼容,以便更容易将现有应用程序迁移到 ASP.NET。建议您将数据存储在应用程序类的静态成员中,而不是应用程序对象中。这提高了性能,因为您访问静态变量的速度比访问应用程序字典中的项目要快。
所以,使用静态变量。并且不要忘记使用lock。
【讨论】:
static。 msdn.microsoft.com/en-us/library/94xkskdf%28v=VS.85%29.aspx
您的静态成员不会扩展到超过 1 个服务器。
【讨论】: