我正在尝试以编程方式在Sitecore中发布。发布工作正常。但是,以编程方式执行操作并不会清除sitecore缓存。以编程方式清除缓存的最佳方法是什么?
我正在尝试使用登台模块随附的Web服务。但是我收到了错误的请求异常(异常:远程服务器返回了意外的响应:(400)错误的请求。)。我试图增加客户端配置文件上的服务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);
我正在使用以下代码进行发布。
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();
}
最佳答案
在Sitecore 6中,CacheManager类具有静态方法,该方法将清除所有缓存。 ClearAll()方法已过时。
Sitecore.Caching.CacheManager.ClearAllCaches();