在对Azure 2.0中的Function应用程序的每个请求之前执行一些代码

时间:2019-04-02 11:46:43

标签: azure azure-functions

我创建了一个Azure函数应用程序,并在其中创建了几个函数,并且要求获取每个Azure函数中使用的某些缓存数据。因此,我想在函数应用程序请求管道中添加一些内容(例如Asp.Net中的HttpModule),该函数将针对对函数应用程序的每个请求执行,并将返回缓存的数据。

任何建议!

2 个答案:

答案 0 :(得分:1)

对于缓存的数据,您可以使用内存将其存储在本地,也可以使用Redis Cache进行分发。 如果您尝试构建有状态功能,则可能还需要检查持久功能。 https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview

答案 1 :(得分:0)

使用nuget包Microsoft.Extensions.Caching.Memory。

创建如下所示的类,将其注入以使用其保存,获取方法。

public class MemoryCacheService
    {
        private readonly IMemoryCache _cache = new MemoryCache(new MemoryCacheOptions());

        //lives one day
        public void SaveProvider(string provider)
        {
            _cache.Set("provider", provider, new MemoryCacheEntryOptions { AbsoluteExpirationRelativeToNow = TimeSpan.FromDays(1) });
        }

        public string GetProvider()
        {
            return _cache.Get("provider") as string;
        }

    }