Implementé un sitio web en AppHarbor que usa una base de datos MS SQL. AppHarbor me proporciona una cadena de conexión que ingresé en settings.txt
y parece funcionar bien PERO AppHarbor sugiere utilizar la variable SQLSERVER_CONNECTION_STRING
en su lugar.Sobrescribir cadenas de conexión (desde settings.txt) en Orchard CMS
Esto se debe a que la cadena de conexión puede cambiar sin previo aviso, por lo que la única forma segura es utilizar la variable mencionada.
Acceso a las variables de configuración a continuación se debe hacer mediante programación, ya que los valores pueden ser actualizados por el add-on proveedor de sin previo aviso.
¿Hay una manera de anular la configuración de DataConnectionString
settings.txt
y configurar la aplicación para utilizar la variable SQLSERVER_CONNECTION_STRING
en su lugar? Asumo que AppHarbor de alguna manera establece esas variables como appSettings.
P.S. Esta es mi primera aplicación con Orchard, no soy competente con este CMS.
Para ser honesto, yo estaba esperando una solución que no incluya a jugar con el código fuente, pero finalmente he seguido su sugerencia 'shellSettings.DataConnectionString = ConfigurationManager.AppSettings [ "SQLSERVER_CONNECTION_STRING"] ?? valor; ' – lalibi
ya, lo siento, no creo que haya una opción sin código. –
Sé que esto está un poco anticuado y la fuente del marco Orchard ha cambiado, pero en la versión 1.6 parece que esto podría lograrse sin cambiar la fuente central de Orchard. Uno podría crear una implementación personalizada de IShellSettingsManager. El IoC para ShellSettingsManager se registra usando Autofac, por lo que debería ser posible crear un nuevo ContainerBuilder, luego llamar a RegisterType o RegisterInstance, y finalmente llamar a Update passing en el núcleo del contenedor originalmente devuelto por OrchardStarter.CreateHostContainter(). Estoy trabajando en un enfoque similar ahora, buscando un buen punto de inyección. – defines