我想在 Azure Function App 的无服务器函数中的函数调用之间使用一些值的简单内存缓存。我正在使用 C# 脚本文件直接在 Azure 门户中进行开发。根据Mark Heath 的这篇博客文章中的建议 2),我的函数的 csx 文件中有以下几行:
#r "System.Runtime.Caching"
using System.Runtime.Caching;
using System;
static MemoryCache memoryCache = MemoryCache.Default;
//.....
这应该是本文档中的 System.Runtime.Caching 程序集。
但是在编译时(保存在 Azure 门户中),我得到:
2021-01-05T07:25:39.687 [Information] Script for function 'Intake' changed. Reloading.
2021-01-05T07:25:39.807 [Error] run.csx(1,1): error CS0006: Metadata file 'System.Runtime.Caching' could not be found
2021-01-05T07:25:39.865 [Error] run.csx(2,22): error CS0234: The type or namespace name 'Caching' does not exist in the namespace 'System.Runtime' (are you missing an assembly reference?)
2021-01-05T07:25:39.938 [Error] run.csx(4,8): error CS0246: The type or namespace name 'MemoryCache' could not be found (are you missing a using directive or an assembly reference?)
2021-01-05T07:25:40.008 [Error] run.csx(4,34): error CS0103: The name 'MemoryCache' does not exist in the current context
2021-01-05T07:25:40.041 [Information] Compilation failed.
这是我的host.json,供参考:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[1.*, 2.0.0)"
}
}
我需要在这里添加一些东西吗?我原以为,添加#r
对程序集的引用就足够了。