如何在一个应用程序池下配置不同应用程序之间共享的静态变量
本文关键字:应用程序 配置 之间 共享 变量 静态 程序池 应用 一个 | 更新日期: 2023-09-27 18:29:32
我的服务器上的一个应用程序池下有一组应用程序,其中一些应用程序共享应该独占的相同资源,因此,我想使用一个可以在这些应用程序之间共享的静态字典,将令牌的所有者保存在共享的dll库中,并让每个应用程序通过库申请令牌:
public class SessionCache
{
private static SessionCache _sessionData = new SessionCache();
public static SessionCache Instance { get { return _sessionData; } }
private Dictionary<string, SessionCacheItem> _dataDic = new Dictionary<string, SessionCacheItem>();
...}
不幸的是,静态SessionCache.Istance不是通过默认设置在不同的应用程序之间共享的,有没有办法配置多个应用程序共享同一个静态变量?感谢
脑海中没有任何合理的东西。:-)
如果这真的是你的需求,你可以使用SQL数据库服务器(有很多选项可供选择),或者使用一个新的"NoSQL"服务器,如Redis(REmote DIctionary server),StackOverflow.com本身用于缓存(只需谷歌搜索),或者类似MongoDB 的服务器
或者,您可以做一些事情,比如创建一个WCF服务,尽管对于您想要实现的目标来说,这似乎是一项艰巨的工作。System.Type实例在AppDomain内的所有应用程序之间共享。但是,即使可以,你也有很多理由不想在多个应用程序之间共享一个静态变量。