El orden de clasificación de archivos de inclusión de Sitecore no funciona
Pregunta
De repente, los índices de Lucene en mi sitio web de Sitecore se rompieron y, después de investigar un poco, noté que los archivos de inclusión de Sitecore están "parcheando" web.config en orden no alfabético.
John West mencionó en una de sus publicaciones de blog:
Los procesos de Sitecore Web.config incluyen archivos en orden alfabético (técnicamente, el orden devuelto por el método Directory.GetFiles()).
Sin embargo, MSDN dice:
El orden de los nombres de archivos devueltos (de GetFiles()) no está garantizado;utilice el método Sort() si se requiere un orden de clasificación específico.
¿Qué podría causar ese tipo de problemas?¿Es algo relacionado con la configuración del servidor?
Solución
Tengo un truco que puedes usar si necesitas asegurarte de que tu propia configuración incluida siempre esté incluida después de todos los demás archivos de inclusión.
Asegúrese de que todos los valores predeterminados y del proveedor .config
Los archivos se encuentran directamente en el /App_Config/Include
carpeta y luego cree una subcarpeta en la que coloque su propio archivo de inclusión, por ejemplo /App_Config/Include/Custom/MyConfig.config
.
De esta manera, su configuración incluida siempre se carga en último lugar porque los archivos de la carpeta de nivel superior siempre son devueltos primero por el Directory.GetFiles()
método.
Otros consejos
plase Verifique este Link .El orden de los nombres de archivo devueltos no está garantizado;Use el método Sort () si se requiere un orden de clasificación específico.Di a la MSDN.
Pero sé cuándo desea parchear un parche, el nombramiento del archivo es importante.
Ejemplo: puede parchear Sitecore.ContentSearch.Lucene.DefaultIndexConfiguration.config
Al crear un nuevo archivo de configuración llamado Sitecore.ContentSearch.Lucene.DefaultIndexConfigurationPatch.config
, que luego se incluirá en la sección Final web.config justo después del original Sitecore.ContentSearch.Lucene.DefaultIndexConfiguration.config.
Puede verificar su modificación en los archivos de configuración con:
hostname/sitecore/admin/showconfig.aspx