首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何访问只需在Application.Start上创建一次的变量

如何访问只需在Application.Start上创建一次的变量
EN

Stack Overflow用户
提问于 2015-07-09 21:25:09
回答 1查看 827关注 0票数 1

根据本指南:https://github.com/mspnp/azure-guidance/blob/master/Retry-Service-Specific.md

他们说:

请注意,StackExchange.Redis客户端通过单个连接使用多路复用。建议的用法是在应用程序启动时创建客户端的实例,并将此实例用于针对缓存的所有操作。由于这个原因,对缓存的连接只进行了一次,因此本节中的所有指南都与此初始连接的重试策略相关,而不是针对访问缓存的每个操作。

现在我有这样的事情:

代码语言:javascript
复制
public static Models.UserProfile GetUserProfile(string identityname)
        {
            /// It needs to be cached for every user because every user can have different modules enabled.
            try
            {
                var cachekeyname = "UserProfileInformation|" + identityname;
                IDatabase cache = CacheConnectionHelper.Connection.GetDatabase();
                Models.UserProfile userProfile = new Models.UserProfile();
                object obj = cache.Get(cachekeyname);

我可以把连接线移动到global.asax

代码语言:javascript
复制
protected void Application_Start()
        {

            IDatabase cache = CacheConnectionHelper.Connection.GetDatabase();

        }

如果我移动了这条线,那么我如何在需要使用它的其他方法上得到这个实例?

这是高速缓存连接助手。

代码语言:javascript
复制
public class CacheConnectionHelper
    {
        private static Lazy<ConnectionMultiplexer> lazyConnection = new Lazy<ConnectionMultiplexer>(() =>
        {
            return ConnectionMultiplexer.Connect(SettingsHelper.AzureRedisCache);
        });

        public static ConnectionMultiplexer Connection
        {
            get
            {
                return lazyConnection.Value;
            }
        }
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-10 04:38:39

您可以使它在global.asax文件中保持静态。

代码语言:javascript
复制
public class Global : HttpApplication {
    public static IDatabase Cache = CacheConnectionHelper.Connection.GetDatabase();
    void Application_Start(object sender, EventArgs e) {

    }
    .....
}

现在,您可以访问任何类中的数据库对象,只需访问Global.Cache,这是数据库的单个实例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31328511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档