<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>La Villa Digital &#187; Runtime</title>
	<atom:link href="http://www.lavilladigital.com/tag/runtime/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lavilladigital.com</link>
	<description>“La programación es una carrera entre los desarrolladores, intentando construir mayores y mejores programas a prueba de idiotas, y el universo, intentanto producir mayores y mejores idiotas. Por ahora va ganando el Universo” Rich Cook</description>
	<lastBuildDate>Fri, 19 Mar 2010 15:39:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<image>
<link>http://www.lavilladigital.com</link>
<url>http://www.lavilladigital.com/wp-content/mbp-favicon/HP-Monitor.ico</url>
<title>La Villa Digital</title>
</image>
		<item>
		<title>A vueltas con .NET: Modificar Connection Strings en Runtime</title>
		<link>http://www.lavilladigital.com/2009/05/05/a-vueltas-con-net-modificar-connection-strings-en-runtime/</link>
		<comments>http://www.lavilladigital.com/2009/05/05/a-vueltas-con-net-modificar-connection-strings-en-runtime/#comments</comments>
		<pubDate>Tue, 05 May 2009 07:50:43 +0000</pubDate>
		<dc:creator>David González</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[ConnectionString]]></category>
		<category><![CDATA[Runtime]]></category>

		<guid isPermaLink="false">http://www.lavilladigital.com/?p=943</guid>
		<description><![CDATA[Esto del .NET me parece alucinante, la de cosas que se pueden llegar a hacer de forma rápida y sencilla es enorme. Sin hablar de la cantidad ingente de ejemplos y ayuda que podemos encontrar por Internet. Sin embargo, me he encontrado con un problema.
En una aplicación que estoy haciendo necesito poder leer los datos [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Esto del <strong>.NET</strong> me parece alucinante, la de cosas que se pueden llegar a hacer de forma rápida y sencilla es enorme. Sin hablar de la cantidad ingente de ejemplos y ayuda que podemos encontrar por Internet. Sin embargo, me he encontrado con un problema.</p>
<p style="text-align: justify;">En una aplicación que estoy haciendo necesito poder leer los datos de diferentes bases de datos en función del dominio en el que se ha autentificado el usuario. Las bases de datos corresponden a diferentes fábricas alrededor del mundo así que necesito poder cambiar el <a href="http://msdn.microsoft.com/es-es/library/system.configuration.configurationmanager.connectionstrings.aspx" target="_blank">ConnectionString</a> que utilizan los <strong>DataSets</strong> en tiempo de ejecución.  Después de indagar ésto es lo que he conseguido, espero que alguien le ayude.</p>
<p style="text-align: justify;">Lo primero que debemos hacer es declarar los diferentes <em>ConnectionString</em> que podemos utilizar, en nuestro caso lo haremos dentro de  <em>My Project -&gt; Settings.</em></p>
<p><img class="alignnone size-full wp-image-966" title="mysettings" src="http://www.lavilladigital.com/wp-content/uploads/2009/05/mysettings.jpg" alt="mysettings" width="472" height="116" /></p>
<p style="text-align: justify;">En mi caso tengo 3 Connection Strings, uno de ellos (<em>ConnectionString</em>) es el que utilizan los diferentes <em>DataSets </em>y los otros dos (<em>SpainConnectionString</em> y <em>ChinaConnectionString</em>) son los diferentes valores que puede tomar la primera variable. En la misma pantalla de <em>Settings</em> le damos a <em>ViewCode</em> y saltaremos al código de la clase Settings  que nos permite utilizar <strong>eventos </strong>específicos de esa clase.</p>
<pre class="brush: vb">

Namespace My
&#039;This class allows you to handle specific events on the settings class:
&#039; The SettingChanging event is raised before a setting&#039;s value is changed.
&#039; The PropertyChanged event is raised after a setting&#039;s value is changed.
&#039; The SettingsLoaded event is raised after the setting values are loaded.
&#039; The SettingsSaving event is raised before the setting values are saved.
Partial Friend NotInheritable Class MySettings
Public WriteOnly Property ChangeConnectionString() As String
Set(ByVal Value As String)
My.Settings(&quot;ConnectionString&quot;) = Value
End Set
End Property
End Class
End Namespace
</pre>
<p style="text-align: justify;">Éste es el código que <strong>modifica </strong>el valor de la variable <em>ConnectionString</em> (también se puede utilizar para cambiar culaquier valor de la clase My Setting), ahora debemos llamar a éste proceso con el valor que nos interese.</p>
<p style="text-align: justify;">En nuestro caso miramos el dominio del usuario y el rango de IP&#8217;s del usuario.</p>
<pre class="brush: vb">
Private Sub GetDomain(ByVal HostName As String)
&#039;Buscamos el dominio al que corresponde la ip que tenemos asignada,
&#039;no el dominio al que nos hemos
&#039;logueado desde Windows
Dim Direcciones As IPAddress() = Dns.GetHostAddresses(HostName)
&#039;Recorremos todos los posibles dominios y cargamos el portal del dominio correspondiente
Select Case Mid(Mid(Direcciones(0).ToString(), 9), 1, InStr(Mid(Direcciones(0).ToString(), 9), &quot;.&quot;) - 1)
Case My.Settings.SPAIN_IP
My.Settings.ChangeConnectionString = My.Settings.SPAINConnectionString
Case My.Settings.CHINA_IP
My.Settings.ChangeConnectionString = My.Settings.CHINAConnectionString
Case Else
&#039;Si llegamos aqui es que no estamos en ningun dominio conocido, por tanto cerramos el portal
End Select
End Sub
</pre>
<p>Espero que os sea de ayuda.</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.lavilladigital.com/2009/05/05/a-vueltas-con-net-modificar-connection-strings-en-runtime/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
