Foros del Web » Programación para mayores de 30 ;) » .NET »

Múltiples Web.Config

Estas en el tema de Múltiples Web.Config en el foro de .NET en Foros del Web. Foro, por aquí otra pregunta. Estoy desarrollando una aplicación web que se planea rentarla, para eso, necesito hacer parametrizable todas las opciones del proyecto. Eso ...
  #1 (permalink)  
Antiguo 20/07/2005, 16:53
 
Fecha de Ingreso: octubre-2003
Ubicación: Los Mochis, México.
Mensajes: 81
Antigüedad: 20 años, 6 meses
Puntos: 0
Pregunta Múltiples Web.Config

Foro, por aquí otra pregunta.

Estoy desarrollando una aplicación web que se planea rentarla, para eso, necesito hacer parametrizable todas las opciones del proyecto. Eso que sea por empresa, tengo pensado hacer un archivo de configuración por cada una.

Como un Web.Config por cada empresa, es posible tener múltiples archivos de configuración?

Y si es así como le hago para que la aplicación lea cierto archivo dependiendo del ID del cliente.

Ahí va parte de la configuración que manejo hasta ahorita. Eso lo quiero hacer por cliente que me rente el servicio.

Código:
<appSettings>
		<!--  DB Settings SQL SERVER 2000 -->
		<add key="DBProvider" value="System.Data.SqlClient"/>
		<add key="DBServer" value="LUIGUIRAY"/>
		<add key="DBInitialCatalog" value="Agenda"/>
		<add key="DBUser" value="sa"/>
		<add key="DBPassword" value=""/>
		<add key="DBTimeOut" value="300"/>
		<!--  Email settings  -->		
		<add key="SMTPClient" value="discoverymail.net"/>
		<add key="MailAddress" value="[email protected]"/>
		<add key="SubjectTitle" value="Mensaje desde Agenda.NET"/>
		<!--  Archivo de log de errores -->
		<add key="ErrorsLogFile" value="c:/Desarrollo/AgendaWeb/logs/errors.log"/>
		<!-- Ruta de imágenes -->
		<add key="ImagesPath" value="/AgendaWeb/images/"/>
		<!-- Página de error -->
		<add key="ErrorPage" value="/AgendaWeb/pages/Error.aspx"/>
Alguna sugerencia?...Gracias por su tiempo!
__________________
Te amo flakita (jrk)
  #2 (permalink)  
Antiguo 20/07/2005, 17:01
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Y no te sería mas fácil crear un archivo XML donde le guardes la información de cada una de las empresas, donde le generes tu mismo un ID y a través de query seleccionar el nodo correspondiente... o tambien generar un archivo por cada empresa... tu sabrás... y con ello no estas tocando el web.config que es una archivo de confirgación "por aplicacion" y así la primera vez que se cargue la página.. lee el id de la empresa y por ejemplo juegas un poco con la cache del cliente para mantener la información permanente (a menos que vaya a estar cambiando, eso ya dependerá de de ti)

Es una idea.. espero que te sirva de algo.. cualquier cosa por aqui seguiremos.. ;)

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 20/07/2005, 19:53
 
Fecha de Ingreso: octubre-2003
Ubicación: Los Mochis, México.
Mensajes: 81
Antigüedad: 20 años, 6 meses
Puntos: 0
gracias rootk, de hecho es lo que pretendo hacer, tal vez no fui tan explicito... La idea es tener por ejemplo:

CLIENTE1.XML
CLIENTE2.XML

y pues dentro de cada archivo tener toda la configuracion por cliente, pero no se si haya la forma "natural" de leer otro archivo de configuración de la aplicación. Ahorita tengo un método que me lee el key del Web.Config..
Podría tener un método que me lea el valor del XML pero buscaba hacerlo con el método que ya tengo.

Código:
//Método para leer Key desde el archivo de configuración Web.Config
        public static String ReadSetting(String key, String defaultValue)
        {
            try {            
                object setting = System.Configuration.ConfigurationSettings.AppSettings[key];
                if (setting != null){                
                    if (setting.ToString() == ""){                    
                        setting = null;
                    }
                }
                return (setting == null) ? defaultValue : (String)setting;
            }
            catch {
                return defaultValue;
            }
        }
Any idea?...Gracias RootK de nuevo!!

AAh, y otra pregunta. No trabajas?...
__________________
Te amo flakita (jrk)
  #4 (permalink)  
Antiguo 20/07/2005, 20:33
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
y pues dentro de cada archivo tener toda la configuracion por cliente, pero no se si haya la forma "natural" de leer otro archivo de configuración de la aplicación.
mmm... no te entiendo muy bien

Quieres tener un archivo de configuracion por aplicacion.. y aparte leer del web.config.. si es así.. claro que se puede hacer... ya que puedes tener tu archivo de configuracion general de tu app y el archivo XML de forma independiente por app...

Cita:
AAh, y otra pregunta. No trabajas?...
jeje.. claro que si trabajo friend... se llama Deloitte la empresa en la que estoy.., en un edificio llamado Torre Mayor de la ciudad de México... o porque lo preguntas..?? porque me ves todo el día en los foros..?? .jeje . de hecho siempre tengo un ventan abierta de los foros mientras estoy trabajando.... ya sabes.. hay que hacer de todo un poco..
  #5 (permalink)  
Antiguo 20/07/2005, 21:36
 
Fecha de Ingreso: octubre-2003
Ubicación: Los Mochis, México.
Mensajes: 81
Antigüedad: 20 años, 6 meses
Puntos: 0
Jaja claro RootK, preguntaba por mitotero lo de tu trabajo...

Bueno, respondiendo a tu respuesta, vaya la redundancia...

No, no quiero tener un Web.Config y aparte los XML (eso dejémoslo aparte, lo de configuración de clientes). Sino que los XML pudieran hacer el mismo trabajo que un WebConfig. Supongamos un ejemplo estúpido pero tratando de hacerme entender...

Si por alguna razón renombro el Web.Config a Weg.Configs significa que mi aplicación ya no tiene archivo de configuración, mi aplicación lee por default la configuración almacenada en un Web.Config (me supongo), ahí va la pregunta, cómo le digo yo que en vez de leer el Web.Config lea el Weg.Configs?.
Esto es...para tener un archivo de configuración por cliente de la misma naturaleza del que viene por default, algo así como Cliente1.Config, ClienteX.Config, etc... y de alguna manera cuando el cliente acceda a mi aplicación pues en base al ID que me de saber que archivo leer.

Esto, para no cambiar mi forma de lectura de los settings de mi App.

No se si se pueda hacer, pero tengo la duda, me he buscado por la red pero no hay mucha información al respecto.

Agradezco de nuevo tu interés. Y bueno, en lo poco o mucho que te pueda o les pueda ayudar, aquí estoy con todo gusto.

Thanks!!
__________________
Te amo flakita (jrk)
  #6 (permalink)  
Antiguo 21/07/2005, 09:42
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
mi aplicación lee por default la configuración almacenada en un Web.Config (me supongo), ahí va la pregunta, cómo le digo yo que en vez de leer el Web.Config lea el Weg.Configs?.
Mira.. por default.. está el archivo .config de la app... y en último de los casos.. puedes crear secciones en tu web.config para cada una de las empresas..

Pero si vas a tener una configuracion por c/u porque no la metes en una BD??
  #7 (permalink)  
Antiguo 21/07/2005, 10:02
 
Fecha de Ingreso: octubre-2003
Ubicación: Los Mochis, México.
Mensajes: 81
Antigüedad: 20 años, 6 meses
Puntos: 0
Ok, entonces no se puede. Yo creo que meter los clientes en un solo archivo de configuración se convierte en algo laborioso pues estamos hablando de 100-150 clientes, y por cada cliente hay más de 300 parámetros de configuración. Es por eso que no me convendría hacerlo en un solo archivo. Y bueno, respondiendo a tu pregunta...No lo hago en la base de datos porque muchas cosas en la aplicación se generan "al vuelo" leyendo de la configuración y para hacer unas 10-15 consultas por módulo sería cargar demasiado al server.

En fin, gracias por tu sugerencia, al menos ya se que no va bien mi idea, tendré que pensarlo de alguna otra forma

Gracias RootK
__________________
Te amo flakita (jrk)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:45.