我不得不做這個任務還。您不能使用標準sitecore調度程序,因爲它們只運行x個時間段,這可能會因場地核心的Apppool何時被回收等因素而有所不同。我結束了跳,雖然下面的籃球:
構建一個類在您的網站:
public class PublishCommand
{
public void RunFullPublish()
{
using (new SecurityDisabler())
{
var source = Factory.GetDatabase("master");
var target = Factory.GetDatabase("web");
List<PublishOptions> options = new List<PublishOptions>();
foreach (Language language in source.Languages)
{
options.Add(new PublishOptions(source, target, PublishMode.Full, language, DateTime.Now));
}
PublishManager.Publish(options.ToArray());
}
}
}
這則需要在您的網站暴露莫名其妙。我建立了一個我可以打電話的網頁。然後你需要一個機制來調用網頁。我寫了一個PowerShell腳本(RunUrl。基於this answer
param([string]$url="https:/mywebsite/RunFullPublish.aspx")
Write-Host "calling URL $url"
$request = [System.Net.WebRequest]::Create($url)
$response = $request.GetResponse()
$response.Close()
PowerShell的話,我可以調用PowerShell腳本使用標準的Windows計劃的時間每x期限:PS1)。
這似乎是最好的方法,但根據頁面上的評論,它不適用於7.2。我們正在運行7.5(今年將升級到8)。似乎有很多很棒的Sitecore模塊很快就會過時並且不會升級。遊民。 – Scott 2015-04-02 17:16:38
@Scott還有一個SDN論壇帖子,它說它可以在7.2上運行。我會嘗試它。否則,源代碼也會上傳到Marketplace,所以請嘗試自行構建。 – 2015-04-02 17:19:38
@Scott在EXACT時你仍然會遇到與發佈相同的問題,你仍然會根據任務代理的時間間隔獲得時間變化。 – jammykam 2015-04-03 21:52:52