2017-08-18 3 views
0

Je comprends de la documentation que le dossier SourceDiskCache ne peut pas être configuré en utilisant le fichier de configuration XML et est disponible uniquement "via l'installation de code". Cependant, je ne peux pas comprendre comment!Comment configurer le dossier de cache pour SourceDiskCache?

J'ai besoin de configurer un dossier personnalisé. Je l'ai essayé quelques choses différentes, avec des résultats différents (à la fois en Application_Start):

  1. Cela ne jette pas une erreur, mais utilise le dossier par défaut (/ cache)

    var sourceDiskCachePlugin = new SourceDiskCachePlugin {VirtualCacheDir = "~/App_Data/cache"}; 
    Config.Current.Plugins.GetOrInstall(sourceDiskCachePlugin); 
    
  2. Cette (et la plupart des autres variantes que j'ai essayées) jette l'erreur "les paramètres de SourceDiskCache ne peuvent pas être ajustés après qu'il est démarré."

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

Comment puis-je configurer cela?

En outre, la documentation indique que SourceDiskCache est en version bêta - est-ce toujours le cas, et la configuration XML sera-t-elle disponible?

Répondre

0

Ce serait la façon normale de configurer et installer: var plugin = new SourceDiskCachePlugin() plugin.VirtualCacheDir = "~/App_Data/cache"; plugin.Install(Config.Current);

Si votre code est en cours d'exécution plus d'une fois, utilisez Config.Current.Plugins.GetOrInstall(plugin); Il est préférable si vous installez seulement le plug-in pendant Application_Start. Cependant, l'approche n ° 1 de votre question devrait fonctionner aussi bien, à condition que vous ayez défini les bonnes permissions NTFS sur App_Data.

+0

Je viens d'essayer ceci et j'ai le même comportement que ma tentative # 1 - le paramètre "VirtualCacheDir" est ignoré et les images source sont mises en cache dans le dossier/cache/sourceimages. –

+0

Qu'est-ce que vous avez dans Web.config? –

+0

' {snip } {} snip ' –