Sitecore清除缓存以编程方式

mur*_*uge 2 caching web-services sitecore clear staging

我试图在Sitecore中以编程方式发布.出版工作正常.但以编程方式执行此操作并不会清除sitecore缓存.以编程方式清除缓存的最佳方法是什么?

我正在尝试使用暂存模块附带的Web服务.但是我收到了一个错误的请求异常(异常:远程服务器返回了一个意外的响应:(400)Bad Request.).我试图在客户端配置文件上增加服务receivetimeout和sendtimeout,但这并没有解决问题.任何指针都会非常感激?

我使用以下代码:

CacheClearService.StagingWebServiceSoapClient client = new CacheClearService.StagingWebServiceSoapClient();
CacheClearService.StagingCredentials credentials = new CacheClearService.StagingCredentials();

credentials.Username = "sitecore\adminuser";
credentials.Password = "***********";
credentials.isEncrypted = false;

bool s = client.ClearCache(true, dt, credentials);
Run Code Online (Sandbox Code Playgroud)

我正在使用以下代码进行发布.

 Database master = Sitecore.Configuration.Factory.GetDatabase("master");
 Database web = Sitecore.Configuration.Factory.GetDatabase("web");

 string userName = "default\adminuser";

 Sitecore.Security.Accounts.User user = Sitecore.Security.Accounts.User.FromName(userName, true);

 user.RuntimeSettings.IsAdministrator = true;

 using (new Sitecore.Security.Accounts.UserSwitcher(user))
 {

     Sitecore.Publishing.PublishOptions options = new Sitecore.Publishing.PublishOptions(master, web,
     Sitecore.Publishing.PublishMode.Full, Sitecore.Data.Managers.LanguageManager.DefaultLanguage, DateTime.Now);

     options.RootItem = master.Items["/sitecore/content/"];
     options.Deep = true;
     options.CompareRevisions = true;
     options.RepublishAll = true;
     options.FromDate = DateTime.Now.AddMonths(-1);

     Sitecore.Publishing.Publisher publisher = new Sitecore.Publishing.Publisher(options);
     publisher.Publish();
  }
Run Code Online (Sandbox Code Playgroud)

Bob*_*ack 5

在Sitecore 6中,CacheManager类有一个静态方法,可以清除所有缓存.ClearAll()方法已过时.

Sitecore.Caching.CacheManager.ClearAllCaches();
Run Code Online (Sandbox Code Playgroud)