ejecución de partes de código.

23/11/2005 - 09:10 por Diego \(DCD\) | Informe spam
Hola, seguro que es una tonteria pero bueno, es posible saber cuando el
depurador de .net está en modo debug o en modo release.

Necesito que en partes de código, por ejemplo cuando asigno la cadena de
conexión, que cuando esté en modo debug me ejecute que coja la cadena de
conexión de mi BBDD de desarrollo y cuando esté en modo release que lo haga
de la bbdd de producción. Algo así como

i f debug then
connection = "cadena conexion desarrollo"
else
connection = "cadena conexion produccion"

Saludos y gracias.

Preguntas similare

Leer las respuestas

#1 Miguel Angel Campos
23/11/2005 - 09:27 | Informe spam
Tienes varias opciones:
- Utilizar las directivas condicionales de compilación de la siguiente
forma:
#if DEBUG
connection = "cadena conexion desarrollo"
#else
connection = "cadena conexion produccion"
#endif
- Puedes utilizar el ficheros de configuración, obteniendo la candena de
conexión de dicho fichero y cambiando esta cadena cuando subas el sistema a
producción.
connection = ConfigurationSettings.AppSettings["CNX_STR"];

Personalmente me gusta mas esta ultima opción, pero utilizando alguna
tecnica de encriptación para evitar que sea visible.

Un Saludo,

Miguel Angel Campos
MCAD.NET

"Diego (DCD)" escribió en el mensaje
news:%
Mostrar la cita
#2 Diego \(DCD\)
23/11/2005 - 10:09 | Informe spam
Hola Miguel, precisamente tengo un fichero de configuración para todos mis
programas en el que tengo dos cadenas de conexión, la de desarrollo y la de
producción. Lo he hecho así de manera que únicamente tenga un solo fichero
de configuración para todas mis aplicaciones. Por eso lo del DEBUG.

En cuanto a la encriptación de la cadena es otra cosa que tengo pendiente,
ya que encripto la cadena en un PC y cuando la desencripto en otro me da un
error porque no la desencripta de igual forma. La clase que utilizo es esta:

public class CifradorDatos : Win32DPAPI
{
public CifradorDatos(DPAPIStore tempStore) : base(tempStore)
{
}

public string Cifrar(string plainText, byte[] optionalEntropy)
{
byte[] data;
byte[] dataCifrado;
data = System.Text.Encoding.Unicode.GetBytes(plainText);
dataCifrado = Encrypt(data, optionalEntropy);
return Convert.ToBase64String(dataCifrado);
}
public string Descifrar(string cipherText, byte[] optionalEntropy)
{
byte[] dataCifrado;
byte[] data;
dataCifrado = Convert.FromBase64String(cipherText);
data = Decrypt(dataCifrado, optionalEntropy);
return System.Text.Encoding.Unicode.GetString(data);
}
}
No sé si me puedes ayudar.
Gracias y un saludo.

"Miguel Angel Campos" <SPAMmacampos ARRUBA .idesarrollaSPAM.com> escribió en
el mensaje news:
Mostrar la cita
a
Mostrar la cita
#3 Miguel Angel Campos
23/11/2005 - 10:48 | Informe spam
Hola Diego,

estás utlizando las clases de Microsoft.ApplicationBlocks.Cache, estas
clases utilizan unas librerias del sistema operativo DPAPI para encriptar la
información, el problema es que utilizando una semilla que puede depender de
la maquina o del usuario, tu estas utilizando la que depende de la maquina
con lo cual al intentar descrifrar en otra maquina no funciona.
Si has consultado la aplicación de ejemplo de Microsoft MSDNVideo, puedes
observar como se instala la aplicación generando de forma automática la
cadena de conexión a la base de datos. Lo que puedes hacer es actuar de la
misma forma para el sistema en producción, y actuar sin codificar la cadena
para el sistema en pruebas.

Creo que me he explicado bien, pero si tienes alguna duda, la lanzas!.
Un Saludo,

Miguel Angel Campos
MCAD.NET

"Diego (DCD)" escribió en el mensaje
news:
Mostrar la cita
#4 Diego \(DCD\)
23/11/2005 - 11:10 | Informe spam
Gracias Miguel, más claro que el agua.

Un saludo.

"Miguel Angel Campos" <SPAMmacampos ARRUBA .idesarrollaSPAM.com> escribió en
el mensaje news:
Mostrar la cita
la
Mostrar la cita
de
Mostrar la cita
cadena
Mostrar la cita
mis
Mostrar la cita
fichero
Mostrar la cita
pendiente,
Mostrar la cita
da
Mostrar la cita
escribió
Mostrar la cita
de
Mostrar la cita
sistema
Mostrar la cita
el
Mostrar la cita
lo
Mostrar la cita
Ads by Google
Search Busqueda sugerida