Dupe of returning in the middle of a using block
我认为问题标题相当明显,因此如果返回true,则给出以下代码是否处置了SecurityDisabler?
public bool CreateProxyItem(string name, Sitecore.Data.ID sourceID, Sitecore.Data.ID targetID)
{
// create an instance of the master database
Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master");
// get the proxy item template
Sitecore.Data.Items.TemplateItem proxyTemplate = master.Templates[Sitecore.TemplateIDs.Proxy];
using (new Sitecore.SecurityModel.SecurityDisabler())
{
// get a reference to the proxy container item
Item proxyContainer = master.Items["/sitecore/system/proxies/"];
if (proxyTemplate != null && proxyContainer != null)
{
Item proxyItem = proxyContainer.Add(name, proxyTemplate);
if (proxyItem != null)
{
proxyItem.Editing.BeginEdit();
// editing here
proxyItem.Editing.EndEdit();
return true;
}
}
}
return false;
}