在 ASP.NET 5/MVC 6 中使用 IDistributedCache 和 Redis - 类型或命名空间 'Microsoft.Caching' 不存在

Using IDistributedCache and Redis in ASP.NET 5/MVC 6 - type or namespace 'Microsoft.Caching' does not exist

我正在尝试在 MVC 6 中使用 Redis 缓存,但我无法构建我的项目。

我遵循了 https://github.com/aspnet/Caching/tree/dev/samples 中的示例 - 有一个 IDistributedCache 示例和一个 Redis 示例。但是,还不完全清楚,因为 Redis 示例不是 Web 应用程序。

我的 project.json 依赖项中有这个:

    "Microsoft.Framework.Cache.Memory": "1.0.0-beta3",
    "Microsoft.Framework.Caching.Distributed": "1.0.0-*",
    "Microsoft.Framework.Caching.Redis": "1.0.0-*",

我用它来获取我的包裹:

kpm install Microsoft.Framework.Caching.Distributed

kpm install Microsoft.Framework.Caching.Redis

两个命令都有效并返回了 OK。

在我的初创公司中,我正在尝试以下操作:

 services.AddSingleton<IMemoryCache, MemoryCache>();
 services.AddSingleton<IDistributedCache, RedisCache>();

尝试构建或 运行 时,给出的错误是:

Startup.cs(10,27): error CS0234: The type or namespace name 'Caching' does not exist in the namespace 'Microsoft.Framework' (are you missing an assembly reference?) Startup.cs(11,27): error CS0234: The type or namespace name 'Caching' does not exist in the namespace 'Microsoft.Framework' (are you missing an assembly reference?) Startup.cs(25,35): error CS0246: The type or namespace name 'IDistributedCache' could not be found (are you missing a using directive or an assembly reference?) Startup.cs(25,54): error CS0246: The type or namespace name 'RedisCache' could not be found (are you missing a using directive or an assembly reference?)

现在显然我的参考文献有误 - 但正确的参考文献是什么?我是直接从示例中复制名称空间吗?我尝试切换到 Microsoft.Cache.Distributed,但也没有用(并且与 github 冲突)

我觉得这与没有正确的 K 版本有关,也许这就是出路 - 升级到最新版本。 Framework.Cache.Memory 和 Framework.Cache.Distributed 之间存在不匹配,我看到 github 与名称空间更改相关的评论。

如果有人能指出这个迷宫的出路,不胜感激。

The below answer applies for 1.0.0-beta4 release of caching library which corresponds to here: https://github.com/aspnet/Caching/tree/1.0.0-beta4

IMemoryCache is under Microsoft.Framework.Caching.Memory namespace and IDistributedCacheMicrosoft.Framework.Caching.Distributed 命名空间下。

依赖项如下所示:

"dependencies": { 
    "Microsoft.Framework.Caching.Memory": "1.0.0-beta4",
    "Microsoft.Framework.Caching.Distributed": "1.0.0-beta4",
    "Microsoft.Framework.Caching.Redis": "1.0.0-beta4"
}

所以,Microsoft.Framework.Cache.MemoryMicrosoft.Framework.Caching.Memory