突然,我的Sitecore的网站Lucene索引得到打破,经过一番调查,我发现Sitecore的包括文件是在非字母顺序“打补丁”的web.config。
约翰·韦斯特HIST博客文章中提及了:
Sitecore的处理的Web.config包括文件按字母顺序(从技术上讲,该命令由所述Directory.GetFiles()方法返回)。
但是,MSDN说:
返回的文件名(()从GetFiles的)的顺序没有保证; 使用排序()方法,如果需要特定排序顺序。
什么会引起那样的问题? 它说的是与服务器相关的配置?
我有一个绝招,如果你需要确保你自己的配置包括:总是包含在所有的其他包含文件,您可以使用。
确保所有的默认和供应商.config
文件被直接定位在/App_Config/Include
文件夹,然后创建在你把你自己的一个子文件夹中包含文件,例如/App_Config/Include/Custom/MyConfig.config
。
这样,你的配置包括:总是加载最后因为从顶层文件夹中的文件总是被第一个返回Directory.GetFiles()
方法。
Plase检查此链接 。 返回的文件名的顺序没有保证; 使用排序()方法,如果需要特定排序顺序。 它说,在MSDN上。
但我知道,当你想修补补丁,该文件的命名是很重要的。 例如:您可以修补Sitecore.ContentSearch.Lucene.DefaultIndexConfiguration.config
通过创建一个新的名为配置文件Sitecore.ContentSearch.Lucene.DefaultIndexConfigurationPatch.config
那么这将被包含在原来的右后最终web.config部分, Sitecore.ContentSearch.Lucene.DefaultIndexConfiguration.config.
您可以与配置文件检查你的修改:
hostname/sitecore/admin/showconfig.aspx