如何为 SourceDiskCache 配置缓存文件夹?

How to configure cache folder for SourceDiskCache?

我从文档中了解到,无法使用 XML 配置文件配置 SourceDiskCache 文件夹,并且只能使用 "through code installation"。但是我不知道怎么做!

我需要配置自定义文件夹。我尝试了一些不同的东西,结果不同(都在 Application_Start 中):

  1. 这不会引发错误,但会使用默认文件夹 (/cache)

    var sourceDiskCachePlugin = new SourceDiskCachePlugin {VirtualCacheDir = "~/App_Data/cache"};
    Config.Current.Plugins.GetOrInstall(sourceDiskCachePlugin);
    
  2. 这(以及我尝试过的大多数其他变体)抛出错误 "SourceDiskCache settings may not be adjusted after it is started."

    new SourceDiskCachePlugin().Install(Config.Current);
    Config.Current.Plugins.Get<SourceDiskCachePlugin>().VirtualCacheDir = "~/App_Data/cache";
    

我该如何配置?

此外,文档指出 SourceDiskCache 处于测试阶段 - 现在仍然如此吗,XML 配置是否可用?

这是配置和安装它的正常方法: var plugin = new SourceDiskCachePlugin() plugin.VirtualCacheDir = "~/App_Data/cache"; plugin.Install(Config.Current);

如果您的代码不止一次 运行,请使用 Config.Current.Plugins.GetOrInstall(plugin); 最好只在 Application_Start 期间安装插件。

但是,只要您在 App_Data 上设置了正确的 NTFS 权限,您问题中的方法 #1 应该同样有效。