2017-08-18 29 views
0

我从文档中了解到无法使用XML配置文件配置SourceDiskCache文件夹,并且只能通过“通过代码安装”进行访问。但我无法弄清楚如何!如何为SourceDiskCache配置缓存文件夹?

我需要配置一个自定义文件夹。我已经尝试了一些不同的事情,不同的结果(无论是在的Application_Start):

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

    var sourceDiskCachePlugin = new SourceDiskCachePlugin {VirtualCacheDir = "~/App_Data/cache"}; 
    Config.Current.Plugins.GetOrInstall(sourceDiskCachePlugin); 
    
  2. 这(以及我试过的大多数其他变体)会引发错误“SourceDiskCache设置在启动后可能无法调整”。

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

如何配置呢?

此外,该文档指出SourceDiskCache处于测试阶段 - 这种情况仍然存在,XML配置是否可用?

回答

0

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

如果你的代码运行超过一次,使用Config.Current.Plugins.GetOrInstall(plugin);这是最好的,如果你只在的Application_Start安装插件。

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

+0

我刚刚尝试过这一点,并得到与我尝试#1相同的行为 - “VirtualCacheDir”设置被忽略,源图像缓存在/ cache/sourceimages文件夹中。 –

+0

你在Web.config中有什么? –

+0

' <添加名称= “S3Reader2” 前缀= “〜/米” 区域= “US-东-1”{剪断} /> <添加名称= “DiskCache”/> <添加名称=” SourceDiskCache” /> <添加名称= “水印”/> <添加名称= “预置”/> {剪断} <预设onlyAllowPresets = “假”> {剪断} ' –