我的服务器上的一个应用程序池下有一组应用程序,其中一些共享应该独占的资源,因此,我想使用可以在这些应用程序之间共享的静态字典来保存共享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.Instance不是通过默认设置在不同的应用程序之间共享,有没有办法配置多个应用程序共享相同的静态变量?感谢
答案 0 :(得分:1)
没有任何远程合理的想法。 : - )
如果这确实是您的要求,您可以使用SQL数据库服务器(许多选项可供选择),或使用其中一个新的“NoSQL”服务器,如Redis (REmote DIctionary Server),StackOverflow.com本身使用它缓存(只是谷歌),或类似MongoDB
或者,您可以执行类似创建WCF服务的操作,尽管这似乎可能会为您想要完成的工作做很多工作。 System.Type实例在AppDomain中的所有应用程序之间共享。但是,即使可能,您也不希望在多个应用程序之间共享静态变量。