无法使用 Azure Function App 来使用内存缓存
Unable to user Memory Cache with Azure Function App
我已经使用 Http 触发器创建了 Azure Function App,因为我想使用来自 system.runtime 命名空间的内存缓存来缓存令牌。但是当我 运行 应用程序抛出错误 " System.Runtime.Caching: Could not load file or assembly 'System.Configuration.ConfigurationManager, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified."
我已确保在项目中安装了准确的版本。这是 csproj 文件。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<AzureFunctionsVersion>v3</AzureFunctionsVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.11" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="5.0.0" />
<PackageReference Include="System.Runtime.Caching" Version="5.0.0" />
</ItemGroup>
<ItemGroup>
这是我遇到问题的最低代码版本。
public static class Function1
{
public static MemoryCache accessTokenCache = new MemoryCache("accessToken");
[FunctionName("Function1")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
accessTokenCache.Add("123", "123", new CacheItemPolicy() { Priority = CacheItemPriority.Default });
return new OkObjectResult("");
}
}
以上代码适用于 system.runtime.caching nuget 4.7.0 版。我现在已经降级以使其正常工作。
我也在github中发布了这个问题,以便进一步跟进。
https://github.com/Azure/Azure-Functions/issues/1867
我已经使用 Http 触发器创建了 Azure Function App,因为我想使用来自 system.runtime 命名空间的内存缓存来缓存令牌。但是当我 运行 应用程序抛出错误 " System.Runtime.Caching: Could not load file or assembly 'System.Configuration.ConfigurationManager, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified."
我已确保在项目中安装了准确的版本。这是 csproj 文件。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<AzureFunctionsVersion>v3</AzureFunctionsVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.11" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="5.0.0" />
<PackageReference Include="System.Runtime.Caching" Version="5.0.0" />
</ItemGroup>
<ItemGroup>
这是我遇到问题的最低代码版本。
public static class Function1
{
public static MemoryCache accessTokenCache = new MemoryCache("accessToken");
[FunctionName("Function1")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
accessTokenCache.Add("123", "123", new CacheItemPolicy() { Priority = CacheItemPriority.Default });
return new OkObjectResult("");
}
}
以上代码适用于 system.runtime.caching nuget 4.7.0 版。我现在已经降级以使其正常工作。
我也在github中发布了这个问题,以便进一步跟进。 https://github.com/Azure/Azure-Functions/issues/1867