我想在Sitecore中以編程方式發佈。出版工作正常。但是,通過編程方式不會清除sitecore緩存。以編程方式清除緩存的最佳方式是什麼?Sitecore清除緩存編程
我正在嘗試使用分段模塊附帶的webservice。但我收到一個錯誤的請求異常(例外:遠程服務器返回了意外的響應:(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();
}
您使用哪些代碼以編程方式發佈您的項目?因爲無論如何它應該做緩存清理和分段。 – 2010-09-15 12:53:20
亞歷克斯是對的。緩存應該由發佈進程自動處理。如果您可以發佈用於發佈的代碼,這可能會很有幫助,因爲這可能是問題的根本原因。 – Matt 2010-09-16 11:41:30