【问题标题】:How to store data temporarily in DotnetNuke 7?如何在 DotnetNuke 7 中临时存储数据?
【发布时间】:2017-03-28 22:46:17
【问题描述】:

我是 DotnetNuke 的新手。随意建议我正确的术语。 我正在研究 DotnetNuke 7。我使用 C#。我有一个包含 30 个字符串字段的表,它最多可以有 50 条记录。目前我正在使用数据库管理它。

我认为数据不多,我应该将其存储在本地存储(如果有的话)中,这比从数据库中获取数据要快。

如果 DotnetNuke 中有任何本地存储(临时)和它的生命,有人可以建议我吗?

另外请建议我关于切换本地存储而不是数据库的想法。

【问题讨论】:

    标签: c# dotnetnuke dotnetnuke-module dotnetnuke-7


    【解决方案1】:

    您可以使用内置的 DNN 缓存功能。

    using DotNetNuke.Common.Utilities;
    
    public bool cacheExists(string key)
    {
        return DataCache.GetCache(key) != null;
    }
    
    public void setCache<T>(T value, string key)
    {
        DataCache.SetCache(key, value);
    }
    
    public T getCache<T>(string key)
    {
        return (T)DataCache.GetCache(key);
    }
    

    用法:

    string myString = "test";
    Book myBook = new Book();
    
    setCache(myString, "A");
    setCache(myBook, "B");
    
    string myStringFromCache = getCache<string>("A");
    Book myBookFromCache = getCache<Book>("B");
    

    【讨论】:

    • 我认为&lt;T&gt; 意味着类。所以如果我有类Employee 的类对象,方法就像public void setCache&lt;Employee&gt;(Employee value, string key)。如果我错了,请纠正我。
    • 这是Generic Type Parameter。它在那里,因此您无需为每个类/数据类型创建 getCache
    • 它正在工作。谢谢你。如果有人有 JSON 数据,这也是个好主意。这可能对读者有所帮助。如果您有 JSON 数据,您可以在解决方案资源管理器中创建一个 JSON 文件并从中添加和获取数据。如果数据有限,我认为这也是一种方式。请让我知道这是否会在 DNN Stucture 中产生问题。
    • 您好,我可以为缓存(单个密钥)设置持续时间(生命周期)吗?
    • 可能是的,setCache 有很多重载,其中之一是 DateTime AbsoluteExpiration
    猜你喜欢
    • 1970-01-01
    • 2022-12-15
    • 2013-07-28
    • 1970-01-01
    • 2018-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多