Navegador de Archivos
Calendario del Blog
General
Evitar recompilar por cambios simples.
El otro día encontré un artículo que citaba al programador de raza y me doy cuenta de que me inclino poco a poco hacia ese perfil y espero algún día llegar a cubrirlo perfectamente, por lo mientras he dedicado un poco de mi tiempo para investigar sobre como realizar un mejor código con pocas modificaciones.
En esta ocasión me puse a modificar el código para que al subir los datos a producción no se tenga que estar recompilando porque falló una u otra cadena de conexión o que la ip no corresponde o detallitos como esos.
Primero veamos la conexión a la base de datos, muchas veces por la facilidad y rápidez de copiar y pegar no nos damos cuenta que nuestro código se está duplicando considerablemente y para colmo no nos interesa darle el mentado refactoring. En el caso de las cadenas de conexión de bases de datos bien podemos usar el archivo de configuración que brinda el .NET (web.config).
Es muy simple, unicamente se tiene que definir lo siguiente:
<appsettings>
...
<add key="keyName" value="Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=MiBase;Data Source=MiServer;"></add>
...
</appsettings>
Después de eso en nuestro código usamos el namespace System.Configuration y asignamos a una variable de tipo string el valor del key que contiene la conexión:
string _dbConnection = ConfigurationSettings.AppSettings["keyName"];
con esto es más que suficiente para poder utilizar a cadena que viene en el archivo de configuración y además puedes modificarla al vuelo sin tener que compilar nuevamente tu código.
Otro problema que puede surgir es que constantemente tengas que estar cambiando la URL de la máquina de pruebas a la de producción. Para esto he encontrado una forma simple de hacerlo y claro si alguién más lo ha hecho de una manera diferente por favor comentalo para aprender
.
// Se obtiene el nombre de la máquina
string hostName = System.Net.Dns.GetHostName();
// Se obtiene la ip de un array porque puede tener más de una ip asignada
string stringIP = System.Net.Dns.GetHostEntry(hostName).AddressList[0].ToString();
Después de esto ya puedes usar la variable stringIP para concatenarla en cualquier parte de tu código.
Simple, ¿o no?, que nos cuesta darle una pulidita a ese código y evitar unas cuantas líneas que no nos serviran de nada. Ya si andas medio inspirado puedes generar una clasesilla y poner tus diversas configuraciones para conectarte a las bases de datos.
Si, también existen FrameWorks dedicados a eso pero esa es otra historia.
En esta ocasión me puse a modificar el código para que al subir los datos a producción no se tenga que estar recompilando porque falló una u otra cadena de conexión o que la ip no corresponde o detallitos como esos.
Primero veamos la conexión a la base de datos, muchas veces por la facilidad y rápidez de copiar y pegar no nos damos cuenta que nuestro código se está duplicando considerablemente y para colmo no nos interesa darle el mentado refactoring. En el caso de las cadenas de conexión de bases de datos bien podemos usar el archivo de configuración que brinda el .NET (web.config).
Es muy simple, unicamente se tiene que definir lo siguiente:
<appsettings>
...
<add key="keyName" value="Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=MiBase;Data Source=MiServer;"></add>
...
</appsettings>
string _dbConnection = ConfigurationSettings.AppSettings["keyName"];
Otro problema que puede surgir es que constantemente tengas que estar cambiando la URL de la máquina de pruebas a la de producción. Para esto he encontrado una forma simple de hacerlo y claro si alguién más lo ha hecho de una manera diferente por favor comentalo para aprender
// Se obtiene el nombre de la máquina
string hostName = System.Net.Dns.GetHostName();
// Se obtiene la ip de un array porque puede tener más de una ip asignada
string stringIP = System.Net.Dns.GetHostEntry(hostName).AddressList[0].ToString();
Simple, ¿o no?, que nos cuesta darle una pulidita a ese código y evitar unas cuantas líneas que no nos serviran de nada. Ya si andas medio inspirado puedes generar una clasesilla y poner tus diversas configuraciones para conectarte a las bases de datos.
Si, también existen FrameWorks dedicados a eso pero esa es otra historia.
Trackback URI: http://es.iver.com.mx/index.php/trackback/93
Estadísticas de visitantes








Comentarios Recientes
- Celulares con Wifi en Como escoger el amor de tu vida.
- master en La diferencia entre un amigo y un novio
- Iván Jaimes en Internet Explorer 8 y la vista compatibilidad
- mauro en Internet Explorer 8 y la vista compatibilidad
- Iván Jaimes en ¿Qué hacer para que te valoren más?
- marcela en ¿Qué hacer para que te valoren más?
- Iván Jaimes en
- karyot en Haces ruido o te gusta volar?
- Iver en Haces ruido o te gusta volar?
- leo_on en Haces ruido o te gusta volar?
- Iván Jaimes en Los detalles hacen la diferencia
- linuxman en Los detalles hacen la diferencia
- Marcelo Araújo en Internet Explorer 8 y la vista compatibilidad
- Iván Jaimes en Código con aroma de mujer
- karyot en Código con aroma de mujer
- Profesor Mamelowsky en Código con aroma de mujer
- karyot en Lo sabroso de la vida
- Iván Jaimes en
- Iván Jaimes en Internet Explorer 8 y la vista compatibilidad
- cordoba en Internet Explorer 8 y la vista compatibilidad

Dejar un comentario