我們也在我們的項目中使用它... 我們已將它放置在常規的.aspx頁面中。我希望這有助於:
protected void Page_Load(object sender, EventArgs e)
{
PublishMode publishMode = PublishMode.Full;
using (new Sitecore.SecurityModel.SecurityDisabler())
{
var webDb = Sitecore.Configuration.Factory.GetDatabase("web");
var masterDb = Sitecore.Configuration.Factory.GetDatabase("master");
try
{
foreach (Language language in masterDb.Languages)
{
//loops on the languages and do a full republish on the whole sitecore content tree
var options = new PublishOptions(masterDb, webDb, publishMode, language, DateTime.Now) { RootItem = masterDb.Items["/sitecore"], RepublishAll = true, Deep = true };
var myPublisher = new Publisher(options);
myPublisher.Publish();
}
}
catch (Exception ex)
{
Sitecore.Diagnostics.Log.Error("Could not publish", ex);
}
}
}
你真的需要在開發中發佈嗎?我始終將我的開發實例設置爲指向主數據庫而不是Web,因此無需發佈即可預覽每個更改。 –
正如@mdresser所說,默認安裝'/ app_config/include'文件夾中有一個'livemode.config'的例子。您還可以啓用'PublishAgent'按特定時間間隔運行以進行完整發布。http://sitecorebasics.wordpress.com/2011/05/17/basics-of-sitecore-scheduled-publishing/ – jammykam
@mdresser我們的開發實例現在有一些工作流程的東西與我們與SQL Server和我們的Oracle實例的溝通集成在一起。在設計Sitecore站點時,我們有員工從事Oracle集成。我們只能指向Master,但之後我們無法開發我們的工作流程步驟。 –