<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DEICQ3w-fyp7ImA9WhRVEk4.&quot;"><id>tag:blogger.com,1999:blog-33901941</id><updated>2012-01-10T18:02:42.257-05:00</updated><category term="mobile" /><category term="Vista" /><category term="msdn" /><category term="tfs" /><category term="javascript" /><category term="net" /><category term="ai" /><category term="fdo" /><category term="ayuda" /><category term=".net 3.5" /><category term="asp .net" /><category term="tfs api" /><category term="ef" /><category term="tomcat" /><category term="f5" /><category term="smart documents" /><category term="hxs" /><category term="business intelligence" /><category term="asincronico" /><category term="open source" /><category term="lua" /><category term="autocad" /><category term="ado" /><category term="c#" /><category term="acropolis" /><category term="lincence" /><category term="windows forms" /><category term="web 2.0" /><category term="Beta" /><category term="Mac" /><category term="parallel" /><category term="ginga" /><category term=".net" /><category term="eclipse" /><category term="vsto" /><category term="mdd" /><category term="isa server" /><category term="exchange" /><category term="pluging" /><category term="x64" /><category term="chm" /><category term="database" /><category term="ncl" /><category term="linux" /><category term="wcf" /><category term="apache" /><category term="linq" /><category term="visual studio 2008" /><category term="platform" /><category term="windows service" /><category term="internet explorer" /><category term="ajax" /><category term="vmware" /><category term="utm" /><category term="security" /><category term="best practices" /><category term="gis" /><category term="rc" /><category term="cardspace" /><category term="Workflow" /><category term="codeplex" /><category term="web services" /><category term="service pack" /><category term="sql server" /><category term="bi" /><category term="dms" /><category term="team foundation server" /><category term="vb" /><category term="oracle" /><category term="biztalk server" /><category term="team system" /><category term="load balancer" /><category term="autocad map" /><category term="office 2003" /><category term="office 2007" /><category term="instalacion" /><category term="enterprise library" /><category term="software" /><category term=".net framework 3.0" /><category term="Sharepoint" /><category term="tfs sdk" /><category term="pattern" /><category term="geoespacial" /><category term="microsoft" /><category term="metricas" /><category term="framework" /><category term="mono" /><category term="WPF" /><category term="json" /><category term="Silverlight" /><category term="openxml" /><title>Algo de Tecnología</title><subtitle type="html">Blog de comentarios e información sobre tecnologías de la información</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://fcolomas.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>91</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/blogspot/tOJR" /><feedburner:info uri="blogspot/tojr" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;C0UBSX0yeSp7ImA9Wx9aEEU.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-6888642833293665879</id><published>2011-03-01T15:13:00.002-05:00</published><updated>2011-03-02T10:54:18.391-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-02T10:54:18.391-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="eclipse" /><category scheme="http://www.blogger.com/atom/ns#" term="pluging" /><category scheme="http://www.blogger.com/atom/ns#" term="ncl" /><category scheme="http://www.blogger.com/atom/ns#" term="ginga" /><category scheme="http://www.blogger.com/atom/ns#" term="vmware" /><category scheme="http://www.blogger.com/atom/ns#" term="lua" /><title>Plug in de NCL en Eclipse</title><content type="html">Hace unos dias tuve la suerte de asistir a un curso de Ginga, donde vimos la potencialidad de la herramienta, y claro es muy interesante lo que se puede hacer, pero algo que no nos indicaron es como reproducir el ambiente de desarrollo en nuestras maquinas, cuando busque en Google como instalar el plugin de NCL en Eclipse pues no hubo tanta info, y la mayoria esta en portugues, asi es que quiero compartir la info que encontre y que hice yo para reproducir el ambiente de desarrollo en mi computadora:&lt;br /&gt;
1. Obtener Eclipse: me gusta el ultimo release (Helios), si no lo tienen vayan a &lt;a href="http://www.eclipse.org/"&gt;&lt;b&gt;http://www.eclipse.org&lt;/b&gt;&lt;/a&gt; y escojan el Eclipse de acuerdo a su plataforma.&lt;br /&gt;
2. Obtener el Plugin de NCL para Eclipse: la pagina que encontre en portugues es esta:&lt;br /&gt;
&lt;a href="http://laws.deinf.ufma.br/~ncleclipse/installation.html" title="http://laws.deinf.ufma.br/~ncleclipse/installation.html"&gt;&lt;b&gt;http://laws.deinf.ufma.br/~ncleclipse/installation.html&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
En resumen, debes agregar un repositorio de software en Eclipse que apunte al plugin de NCL, yo lo llame NCL Eclipse al repositorio, este es el repositorio: &lt;a href="http://www.laws.deinf.ufma.br/ncleclipse/update"&gt;&lt;b&gt;http://www.laws.deinf.ufma.br/ncleclipse/update&lt;/b&gt;&lt;/a&gt;    &lt;br /&gt;
Despues de eso, tienes que en cuadro que sale cuando entras en el menu de Ayuda-&amp;gt;Instalar nuevo software, buscar el repositorio que acabas de agregar y escoger el unico item que muestra, luego dar click en siguiente, aceptar la licencia, dar click en siguiente de nuevo y comienza la descarga e instalacion.&lt;br /&gt;
Luego es necesario tener las maquinas virtuales para poder crear tus ejemplos para Ginga, en esta pagina se encuentran las maquinas virtuales:&lt;br /&gt;
&lt;a href="http://www.gingancl.org.br/ferramentas.html" title="http://www.gingancl.org.br/ferramentas.html"&gt;&lt;b&gt;http://www.gingancl.org.br/ferramentas.html&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
Cuando ya tienes la maquina vitual necesitas VMware Player para usarlo, puedes encontrarla en &lt;a href="http://www.vmware.com/"&gt;http://www.vmware.com&lt;/a&gt;, es gratuito.&lt;br /&gt;
Con esto ya tienes tu ambiente de desarrollo Ginga, solo hace falta usar la imaginacion para comenzar a realizar muchas cosas con Ginga!&lt;br /&gt;
Eso es por lo pronto, seguire haciendo posts para preservar el conocimiento que algo voy adquiriendo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-6888642833293665879?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kcktLzXIJeG0E8F70ANxlB7LJE0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kcktLzXIJeG0E8F70ANxlB7LJE0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kcktLzXIJeG0E8F70ANxlB7LJE0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kcktLzXIJeG0E8F70ANxlB7LJE0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/h6fngWUASGU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/6888642833293665879/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=6888642833293665879" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/6888642833293665879?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/6888642833293665879?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/h6fngWUASGU/plug-in-de-ncl-en-eclipse.html" title="Plug in de NCL en Eclipse" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>4</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2011/03/plug-in-de-ncl-en-eclipse.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08AR38yfyp7ImA9Wx9bE0k.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-2812791333861357183</id><published>2011-02-21T22:37:00.001-05:00</published><updated>2011-02-21T22:37:26.197-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-21T22:37:26.197-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sql server" /><category scheme="http://www.blogger.com/atom/ns#" term="dms" /><category scheme="http://www.blogger.com/atom/ns#" term="utm" /><title>Convertir Coordenadas DMS a Decimal</title><content type="html">&lt;p&gt;No se si a ustedes les ha pasado, pero he necesitado convertir coordenadas en grados, minutos y segundos a decimales, o lo que llaman UTM, especialmente esto suele estar almacenado en una base de datos, y claro convertirlo puede ser un problema y mas cuando son bases de datos de producción, la solución? Una función que haga esta conversion y esta incluirla en una vista, y bien aqui esta la función para SQL Server 2005 en adelante, si necesitan podría pasarla a Oracle tambien…&lt;/p&gt;  &lt;p&gt;CREATE FUNCTION ConvertirDMS   &lt;br /&gt;(    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; -- Add the parameters for the function here    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @strData varchar(500)    &lt;br /&gt;)    &lt;br /&gt;RETURNS decimal(10,8)    &lt;br /&gt;AS    &lt;br /&gt;BEGIN    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @decResult decimal(10,8)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; declare @posD int    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; declare @posDQ int    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; declare @posM int    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; declare @posS int    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; declare @piece varchar(500)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; declare @decD decimal(10,8)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; declare @decM decimal(10,8)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; declare @decS decimal(10,8)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; declare @strSign varchar(2)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; --Ubica el signo de grados    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; set @posD =&amp;#160; patindex('%°%' , @strData)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; --Ubica el signo de grados cuando esta mal puesto    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; set @posDQ =&amp;#160; patindex('%?%' , @strData)&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; --Ubica el sigo de minutos    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; set @posM =&amp;#160; patindex('%&amp;quot;%' , @strData)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; --Ubica el sigo de minutos    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; set @posS =&amp;#160; patindex('%''%' , @strData)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; -- Saca los segundos y los convierte a decimal    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; set @decS = CONVERT(decimal(10,8), substring(@strData, @posM + 1, @posS - @posM - 1))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; -- Saca los minutos y los convierte a decimal    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; if(@posDQ = '0')&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; set @decM = CONVERT(decimal(10,8), substring(@strData, @posD + 1, @posM - @posD - 1))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; else    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; set @decM = CONVERT(decimal(10,8), substring(@strData, @posDQ + 1, @posM - @posDQ - 1))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; -- Saca los minutos y los convierte a decimal    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; if(@posDQ = '0')&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; set @decD = CONVERT(decimal(10,8), substring(@strData, 0, @posD))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; else    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; set @decD = CONVERT(decimal(10,8), substring(@strData, 0, @posDQ))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; --Saca la orientacion para el signo    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; set @strSign = SUBSTRING(@strData, @posS + 1, len(@strData) - @posS)&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; --Calcula los segundos a minutos    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; set @decM = @decM + (@decS / 60.00)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; --Calcula los minutos a grados    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; set @decResult = @decD + (@decM / 60.00)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; --Pone el signo    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; if (upper(@strSign) &amp;lt;&amp;gt; 'N' and UPPER(@strSign) &amp;lt;&amp;gt; 'E')    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; set @decResult = @decResult * -1    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; RETURN @decResult;   &lt;br /&gt;END&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-2812791333861357183?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/8vsIj3yFLqlQ8UJslhlHjyy6Sgs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8vsIj3yFLqlQ8UJslhlHjyy6Sgs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/8vsIj3yFLqlQ8UJslhlHjyy6Sgs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8vsIj3yFLqlQ8UJslhlHjyy6Sgs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/cCwxU73qouk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/2812791333861357183/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=2812791333861357183" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/2812791333861357183?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/2812791333861357183?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/cCwxU73qouk/convertir-coordenadas-dms-decimal.html" title="Convertir Coordenadas DMS a Decimal" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2011/02/convertir-coordenadas-dms-decimal.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEFRXo6fyp7ImA9Wx5TE04.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-6704677973739870258</id><published>2010-07-28T11:04:00.003-05:00</published><updated>2010-07-28T11:13:34.417-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-28T11:13:34.417-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="instalacion" /><category scheme="http://www.blogger.com/atom/ns#" term="apache" /><category scheme="http://www.blogger.com/atom/ns#" term="tomcat" /><title>Ejecutar multiples instancias de Apache como Servicio</title><content type="html">Primero como verán, este blog ya no es mas de solo .NET, ahora sera agnóstico, pondré temas y temas de lo que vaya haciendo, que últimamente me ha resultado interesante, como por ejemplo la necesidad de correr dos instancias de Apache Tomcat 6 en Windows, pero las dos como servicios, para esto me encontré con un link que fue de mucha ayuda:&lt;br /&gt;&lt;br /&gt;http://www.vicconsult.com/tips/apache-tomcat-load-balance-miltiple-instances-ha.html&lt;br /&gt;&lt;br /&gt;Y basado en la información de ahí, logre generar este comando:&lt;br /&gt;&lt;br /&gt;tomcat6 //IS//Tomcat6 --DisplayName="Apache Tomcat 6 Alter" --Install="d:\apache2\bin\tomcat6.exe" --Jvm=auto --StartMode=jvm --StopMode=jvm --StartClass=org.apache.catalina.startup.Bootstrap --StartParams=start --StopClass=org.apache.catalina.startup.Bootstrap --StopParams=stop&lt;br /&gt;&lt;br /&gt;Pero que pasos se deben dar? Aqui una lista:&lt;br /&gt;&lt;br /&gt;1. Instala Apache Tomcat 6, e incluye la opción de Servicio cuando escojas los componentes, recuerda que es mejor instalar en una carpeta con nombre sin espacios y de una longitud corta.&lt;br /&gt;2. Instala la segunda instancia de Apache Tomcat 6, en una carpeta diferente claro, pero con la misma opción de instalar el servicio, esta vez dará un error, da click en omitir, el error indica que no puede instalar dos veces el mismo servicio, lo cual claro no es cierto, &lt;span style="font-weight: bold;"&gt;recuerda cambia de puerto esta segunda instancia!&lt;/span&gt;&lt;br /&gt;3. Ejecuta en la carperta bin de la segunda instancia de apache el comando de arriba, cambiando el parametro Install por el nombre de la carpeta correcta para tu instalacion, y si quieres el Dysplayname por algo que te ayude a identificar el servicio.&lt;br /&gt;5. En la administracion de servicios de Windows, revisa tu servicio, buscalo por el nombre que pusiste en Displayname, dale Iniciar o Start, y listo!&lt;br /&gt;&lt;br /&gt;Con estos pasos he podido ejecutar mas de una instancia de Apache Tomcat 6 como servicio en una maquina Windows....&lt;br /&gt;&lt;br /&gt;Espero que les sirva!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-6704677973739870258?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Zw25R1XCbb-0ESf__jZnGDx22HU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Zw25R1XCbb-0ESf__jZnGDx22HU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Zw25R1XCbb-0ESf__jZnGDx22HU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Zw25R1XCbb-0ESf__jZnGDx22HU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/VytwH6DE7zk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/6704677973739870258/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=6704677973739870258" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/6704677973739870258?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/6704677973739870258?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/VytwH6DE7zk/ejecutar-multiples-instancias-de-apache.html" title="Ejecutar multiples instancias de Apache como Servicio" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2010/07/ejecutar-multiples-instancias-de-apache.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YARng7fSp7ImA9WxBXE0U.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-607358077259109190</id><published>2010-01-24T19:59:00.001-05:00</published><updated>2010-01-24T19:59:07.605-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-24T19:59:07.605-05:00</app:edited><title>Ejemplo de pruebas Unitarias</title><content type="html">El siguiente código es un ejemplo de como se pueden crear pruebas unitarias con un framework de pruebas para reflejar casos de pruebas en un proyecto de desarrollo de software:   &lt;table border="1" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="16"&gt;         &lt;p&gt;1&lt;/p&gt;          &lt;p&gt;2&lt;/p&gt;          &lt;p&gt;3&lt;/p&gt;          &lt;p&gt;4&lt;/p&gt;          &lt;p&gt;5&lt;/p&gt;          &lt;p&gt;6&lt;/p&gt;          &lt;p&gt;7&lt;/p&gt;          &lt;p&gt;8&lt;/p&gt;          &lt;p&gt;9&lt;/p&gt;          &lt;p&gt;10&lt;/p&gt;          &lt;p&gt;11&lt;/p&gt;          &lt;p&gt;12&lt;/p&gt;          &lt;p&gt;13&lt;/p&gt;          &lt;p&gt;14&lt;/p&gt;          &lt;p&gt;15&lt;/p&gt;          &lt;p&gt;16&lt;/p&gt;          &lt;p&gt;17&lt;/p&gt;          &lt;p&gt;18&lt;/p&gt;          &lt;p&gt;19&lt;/p&gt;          &lt;p&gt;20&lt;/p&gt;          &lt;p&gt;21&lt;/p&gt;          &lt;p&gt;22&lt;/p&gt;          &lt;p&gt;23&lt;/p&gt;          &lt;p&gt;24&lt;/p&gt;          &lt;p&gt;25&lt;/p&gt;          &lt;p&gt;26&lt;/p&gt;          &lt;p&gt;27&lt;/p&gt;          &lt;p&gt;28&lt;/p&gt;          &lt;p&gt;29&lt;/p&gt;          &lt;p&gt;30&lt;/p&gt;          &lt;p&gt;31&lt;/p&gt;          &lt;p&gt;32&lt;/p&gt;          &lt;p&gt;33&lt;/p&gt;          &lt;p&gt;34&lt;/p&gt;          &lt;p&gt;35&lt;/p&gt;          &lt;p&gt;36&lt;/p&gt;          &lt;p&gt;37&lt;/p&gt;          &lt;p&gt;38&lt;/p&gt;          &lt;p&gt;39&lt;/p&gt;          &lt;p&gt;40&lt;/p&gt;          &lt;p&gt;41&lt;/p&gt;          &lt;p&gt;42&lt;/p&gt;          &lt;p&gt;43&lt;/p&gt;          &lt;p&gt;44&lt;/p&gt;          &lt;p&gt;45&lt;/p&gt;          &lt;p&gt;46&lt;/p&gt;          &lt;p&gt;47&lt;/p&gt;          &lt;p&gt;48&lt;/p&gt;          &lt;p&gt;49&lt;/p&gt;          &lt;p&gt;50&lt;/p&gt;          &lt;p&gt;51&lt;/p&gt;          &lt;p&gt;52&lt;/p&gt;          &lt;p&gt;53&lt;/p&gt;          &lt;p&gt;54&lt;/p&gt;          &lt;p&gt;55&lt;/p&gt;          &lt;p&gt;56&lt;/p&gt;          &lt;p&gt;57&lt;/p&gt;          &lt;p&gt;58&lt;/p&gt;          &lt;p&gt;59&lt;/p&gt;          &lt;p&gt;60&lt;/p&gt;          &lt;p&gt;61&lt;/p&gt;          &lt;p&gt;62&lt;/p&gt;          &lt;p&gt;63&lt;/p&gt;          &lt;p&gt;64&lt;/p&gt;          &lt;p&gt;65&lt;/p&gt;          &lt;p&gt;66&lt;/p&gt;          &lt;p&gt;67&lt;/p&gt;          &lt;p&gt;68&lt;/p&gt;          &lt;p&gt;69&lt;/p&gt;          &lt;p&gt;70&lt;/p&gt;          &lt;p&gt;71&lt;/p&gt;          &lt;p&gt;72&lt;/p&gt;          &lt;p&gt;73&lt;/p&gt;          &lt;p&gt;74&lt;/p&gt;          &lt;p&gt;75&lt;/p&gt;          &lt;p&gt;76&lt;/p&gt;          &lt;p&gt;77&lt;/p&gt;          &lt;p&gt;78&lt;/p&gt;          &lt;p&gt;79&lt;/p&gt;          &lt;p&gt;80&lt;/p&gt;          &lt;p&gt;81&lt;/p&gt;          &lt;p&gt;82&lt;/p&gt;          &lt;p&gt;83&lt;/p&gt;          &lt;p&gt;84&lt;/p&gt;          &lt;p&gt;85&lt;/p&gt;          &lt;p&gt;86&lt;/p&gt;          &lt;p&gt;87&lt;/p&gt;          &lt;p&gt;88&lt;/p&gt;          &lt;p&gt;89&lt;/p&gt;          &lt;p&gt;90&lt;/p&gt;          &lt;p&gt;91&lt;/p&gt;          &lt;p&gt;92&lt;/p&gt;          &lt;p&gt;93&lt;/p&gt;          &lt;p&gt;94&lt;/p&gt;          &lt;p&gt;95&lt;/p&gt;          &lt;p&gt;96&lt;/p&gt;          &lt;p&gt;97&lt;/p&gt;          &lt;p&gt;98&lt;/p&gt;          &lt;p&gt;99&lt;/p&gt;          &lt;p&gt;100&lt;/p&gt;          &lt;p&gt;101&lt;/p&gt;          &lt;p&gt;102&lt;/p&gt;          &lt;p&gt;103&lt;/p&gt;          &lt;p&gt;104&lt;/p&gt;          &lt;p&gt;105&lt;/p&gt;          &lt;p&gt;106&lt;/p&gt;          &lt;p&gt;107&lt;/p&gt;          &lt;p&gt;108&lt;/p&gt;          &lt;p&gt;109&lt;/p&gt;          &lt;p&gt;110&lt;/p&gt;          &lt;p&gt;111&lt;/p&gt;          &lt;p&gt;112&lt;/p&gt;          &lt;p&gt;113&lt;/p&gt;          &lt;p&gt;114&lt;/p&gt;          &lt;p&gt;115&lt;/p&gt;          &lt;p&gt;116&lt;/p&gt;          &lt;p&gt;117&lt;/p&gt;          &lt;p&gt;118&lt;/p&gt;          &lt;p&gt;119&lt;/p&gt;          &lt;p&gt;120&lt;/p&gt;          &lt;p&gt;121&lt;/p&gt;          &lt;p&gt;122&lt;/p&gt;          &lt;p&gt;123&lt;/p&gt;          &lt;p&gt;124&lt;/p&gt;          &lt;p&gt;125&lt;/p&gt;          &lt;p&gt;126&lt;/p&gt;          &lt;p&gt;127&lt;/p&gt;          &lt;p&gt;128&lt;/p&gt;          &lt;p&gt;129&lt;/p&gt;          &lt;p&gt;130&lt;/p&gt;          &lt;p&gt;131&lt;/p&gt;          &lt;p&gt;132&lt;/p&gt;          &lt;p&gt;133&lt;/p&gt;          &lt;p&gt;134&lt;/p&gt;          &lt;p&gt;135&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="588"&gt;         &lt;p&gt;[TestMethod]&lt;/p&gt;          &lt;p&gt;public void PruebaObtenerOpcionesMenuParaUsuarioAdministrador()&lt;/p&gt;          &lt;p&gt;{&lt;/p&gt;          &lt;p&gt;//Se fijan los parametros requeridos para las pruebas&lt;/p&gt;          &lt;p&gt;string strUsuario = &amp;quot;Administrador&amp;quot;;&lt;/p&gt;          &lt;p&gt;string strPassword = &amp;quot;Password&amp;quot;;&lt;/p&gt;          &lt;p&gt;string strNombreOpcion = &amp;quot;ReporteAspirantesIdoneos&amp;quot;;&lt;/p&gt;          &lt;p&gt;//Se fijan los resultados esperados&lt;/p&gt;          &lt;p&gt;var ResultadoAutenticarEsperado = true;&lt;/p&gt;          &lt;p&gt;//Se obtiene el resultado de la primera operación&lt;/p&gt;          &lt;p&gt;var ResultadoautenticarObtenido = &lt;/p&gt;          &lt;p&gt;eRecruit.Logic.clsNegocio.Autenticar(strUsuario, strPassword);&lt;/p&gt;          &lt;p&gt;//Se comparan los resultados, de no coincidir se notifica con un mensaje&lt;/p&gt;          &lt;p&gt;Assert.AreEqual(&lt;/p&gt;          &lt;p&gt;ResultadoautenticarObtenido, &lt;/p&gt;          &lt;p&gt;ResultadoAutenticarEsperado, &lt;/p&gt;          &lt;p&gt;&amp;quot;Ha fallado la autenticacion del Usuario&amp;quot;);&lt;/p&gt;          &lt;p&gt;//Se fijan los resultados esperados en la segunda operación&lt;/p&gt;          &lt;p&gt;var ResultadoEsperadoOpciones = true;&lt;/p&gt;          &lt;p&gt;//Se obtiene la lista que contiene los datos para buscar la opción esperada&lt;/p&gt;          &lt;p&gt;var ListadoOpciones = eRecruit.Logic.clsNegocio.ObtenerOpcionesMenu(strUsuario);&lt;/p&gt;          &lt;p&gt;//Se busca si existe la opción esperada&lt;/p&gt;          &lt;p&gt;var ResultadoObtenidoOpciones = &lt;/p&gt;          &lt;p&gt;ListadoOpciones.Any(lst =&amp;gt; lst.Nombre == strNombreOpcion);&lt;/p&gt;          &lt;p&gt;//Se compara el resultado de la búsqueda con el resultado esperado&lt;/p&gt;          &lt;p&gt;//si falla se notifica con un mensaje de error&lt;/p&gt;          &lt;p&gt;Assert.AreEqual(&lt;/p&gt;          &lt;p&gt;ResultadoObtenidoOpciones, &lt;/p&gt;          &lt;p&gt;ResultadoEsperadoOpciones, &lt;/p&gt;          &lt;p&gt;&amp;quot;El usuario no tiene acceso a la opción de generación del reporte&amp;quot;);&lt;/p&gt;          &lt;p&gt;}&lt;/p&gt;          &lt;p&gt;[TestMethod]&lt;/p&gt;          &lt;p&gt;public void PruebaGenerarReporteAspirantesIdoneos()&lt;/p&gt;          &lt;p&gt;{&lt;/p&gt;          &lt;p&gt;//Se fijan los parametros&lt;/p&gt;          &lt;p&gt;string strDescripcionProceso = &amp;quot;SISTEMAS01&amp;quot;;&lt;/p&gt;          &lt;p&gt;//Se obtiene un resultado intermedio&lt;/p&gt;          &lt;p&gt;var ProcesoSeleccion = &lt;/p&gt;          &lt;p&gt;eRecruit.Logic.clsNegocio.ObtenerProcesoSeleccion(strDescripcionProceso);&lt;/p&gt;          &lt;p&gt;//Se obtiene el listado de aspirantes aprobados para el proceso seleccionado&lt;/p&gt;          &lt;p&gt;var ListadoAprobado = &lt;/p&gt;          &lt;p&gt;eRecruit.Logic.clsNegocio.ObtenerAspirantesIdoneos(ProcesoSeleccion.IdProceso);&lt;/p&gt;          &lt;p&gt;//Se compara si el proceso devolvio al menos un aspirante aprobado&lt;/p&gt;          &lt;p&gt;//si no existen aprobados se notifica con un mensaje de error&lt;/p&gt;          &lt;p&gt;Assert.AreNotEqual(&lt;/p&gt;          &lt;p&gt;ListadoAprobado.Any, &lt;/p&gt;          &lt;p&gt;true, &lt;/p&gt;          &lt;p&gt;&amp;quot;No existen aspirantes aprobado para el proceso&amp;quot;);&lt;/p&gt;          &lt;p&gt;//Se genera el reporte, el metodo devuelve el path del reporte generado&lt;/p&gt;          &lt;p&gt;var PathReporte = &lt;/p&gt;          &lt;p&gt;eRecruit.Logic.clsNegocio.GenerarReporteAspirantesAceptados(ListadoAprobado);&lt;/p&gt;          &lt;p&gt;//Se verifica que el Path no sea vacio&lt;/p&gt;          &lt;p&gt;// de lo contrario se notifica un error&lt;/p&gt;          &lt;p&gt;Assert.IsFalse(&lt;/p&gt;          &lt;p&gt;String.IsNullOrEmpty(PathReporte), &lt;/p&gt;          &lt;p&gt;&amp;quot;No se ha devuelto un path correcto&amp;quot;);&lt;/p&gt;          &lt;p&gt;}&lt;/p&gt;          &lt;p&gt;[TestMethod]&lt;/p&gt;          &lt;p&gt;public void PruebaPublicarResultadosPruebas()&lt;/p&gt;          &lt;p&gt;{&lt;/p&gt;          &lt;p&gt;//Se fijan los parametros&lt;/p&gt;          &lt;p&gt;string strPathReporte = &amp;quot;~/reportes/plantillaaceptados.pdf&amp;quot;;&lt;/p&gt;          &lt;p&gt;string strTituloReporte = &amp;quot;Reporte de Aspirantes Aprobados&amp;quot;;&lt;/p&gt;          &lt;p&gt;//Se fija el resultado esperado&lt;/p&gt;          &lt;p&gt;bool ResultadoPublicacionEsperado = true;&lt;/p&gt;          &lt;p&gt;//Se obtiene el resultado del proceso&lt;/p&gt;          &lt;p&gt;bool ResultadoPublicacionObtenido = &lt;/p&gt;          &lt;p&gt;eRecruit.Logic.clsNegocio.PublicarReporte(strTituloReporte, strPathReporte);&lt;/p&gt;          &lt;p&gt;//Se comparan los resultados esperados y obtenido&lt;/p&gt;          &lt;p&gt;//si no coincide se notifica con un error&lt;/p&gt;          &lt;p&gt;Assert.AreEqual(&lt;/p&gt;          &lt;p&gt;ResultadoPublicacionObtenido, &lt;/p&gt;          &lt;p&gt;ResultadoPublicacionEsperado,&lt;/p&gt;          &lt;p&gt;&amp;quot;No se ha ejecutado la publicación del reporte&amp;quot;);&lt;/p&gt;          &lt;p&gt;}&lt;/p&gt;          &lt;p&gt;[TestMethod]&lt;/p&gt;          &lt;p&gt;public void PruebaGenerarNotificacionesResultadosAspirantes()&lt;/p&gt;          &lt;p&gt;{&lt;/p&gt;          &lt;p&gt;//Se fijan los parametros&lt;/p&gt;          &lt;p&gt;string strDescripcionProceso = &amp;quot;SISTEMAS01&amp;quot;;&lt;/p&gt;          &lt;p&gt;//Se obtiene un resultado intermedio&lt;/p&gt;          &lt;p&gt;var ProcesoSeleccion =&lt;/p&gt;          &lt;p&gt;eRecruit.Logic.clsNegocio.ObtenerProcesoSeleccion(strDescripcionProceso);&lt;/p&gt;          &lt;p&gt;//Se obtiene el listado de aspirantes aprobados para el proceso seleccionado&lt;/p&gt;          &lt;p&gt;var ListadoAprobado =&lt;/p&gt;          &lt;p&gt;eRecruit.Logic.clsNegocio.ObtenerAspirantesIdoneos(ProcesoSeleccion.IdProceso);&lt;/p&gt;          &lt;p&gt;//Se compara si el proceso devolvio al menos un aspirante aprobado&lt;/p&gt;          &lt;p&gt;//si no existen aprobados se notifica con un mensaje de error&lt;/p&gt;          &lt;p&gt;Assert.AreNotEqual(&lt;/p&gt;          &lt;p&gt;ListadoAprobado.Any,&lt;/p&gt;          &lt;p&gt;true,&lt;/p&gt;          &lt;p&gt;&amp;quot;No existen aspirantes aprobado para el proceso&amp;quot;);&lt;/p&gt;          &lt;p&gt;//Se establece el resultado esperado&lt;/p&gt;          &lt;p&gt;bool ResultadoNotificacionEsperado = true;&lt;/p&gt;          &lt;p&gt;//Se obtiene el resultado del proceso&lt;/p&gt;          &lt;p&gt;bool ResultadoNotificacionObtenido = &lt;/p&gt;          &lt;p&gt;eRecruit.Logic.clsNegocio.GenerarNotificacionesAspirantes(&lt;/p&gt;          &lt;p&gt;ListadoAprobado, &lt;/p&gt;          &lt;p&gt;eRecruit.Logic.Enumeraciones.Aceptado);&lt;/p&gt;          &lt;p&gt;//Se comparan los resultados obtenidos con los esperados&lt;/p&gt;          &lt;p&gt;//si no coinciden se notifica con un error&lt;/p&gt;          &lt;p&gt;Assert.AreEqual(&lt;/p&gt;          &lt;p&gt;ResultadoNotificacionObtenido, &lt;/p&gt;          &lt;p&gt;ResultadoNotificacionEsperado, &lt;/p&gt;          &lt;p&gt;&amp;quot;No se han generado las notificaciones correctamente&amp;quot;);&lt;/p&gt;          &lt;p&gt;}&lt;/p&gt;          &lt;p&gt;[TestMethod]&lt;/p&gt;          &lt;p&gt;public void PruebaPublicacionRevisionResultados()&lt;/p&gt;          &lt;p&gt;{&lt;/p&gt;          &lt;p&gt;//Paso 1 del caso de prueba&lt;/p&gt;          &lt;p&gt;PruebaObtenerOpcionesMenuParaUsuarioAdministrador();&lt;/p&gt;          &lt;p&gt;//Paso 2 del caso de prueba&lt;/p&gt;          &lt;p&gt;PruebaGenerarReporteAspirantesIdoneos();&lt;/p&gt;          &lt;p&gt;//Paso 3 del caso de prueba&lt;/p&gt;          &lt;p&gt;PruebaPublicarResultadosPruebas();&lt;/p&gt;          &lt;p&gt;//Paso 4 del caso de prueba&lt;/p&gt;          &lt;p&gt;PruebaGenerarNotificacionesResultadosAspirantes();&lt;/p&gt;          &lt;p&gt;}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Nota: El código aquí expuesto funciona con la herramienta de pruebas de Visual Studio Team Tester y se desarrollo en lenguaje C#, se pueden usar otros frameworks para pruebas como NUnit u otros disponibles según la conveniencia de cada equipo de desarrollo para desarrollar las pruebas, además las líneas al lado del código tienen el propósito de ser referencia.    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Como se puede ver en el ejemplo, en las líneas 2, 37, 68 y 89 se encuentran los métodos que representan a las pruebas funcionales, cada uno usa la técnica de pruebas unitarias para verificar los resultados, cada uno de los métodos representa un paso del caso de pruebas, además en la línea 124 está el método que representa a todo el caso de prueba, que ejecuta en el mismo orden los métodos que representan a los pasos del caso de uso. En caso de fallar uno de los métodos se entiende que el caso de prueba ha fallado, y debe ser enviado de nuevo a revisión al equipo de desarrollo.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-607358077259109190?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ov76dVmkEU-Oot6v0Pp0j3v0Sv0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ov76dVmkEU-Oot6v0Pp0j3v0Sv0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ov76dVmkEU-Oot6v0Pp0j3v0Sv0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ov76dVmkEU-Oot6v0Pp0j3v0Sv0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/VTQQCgqBy3g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/607358077259109190/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=607358077259109190" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/607358077259109190?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/607358077259109190?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/VTQQCgqBy3g/ejemplo-de-pruebas-unitarias.html" title="Ejemplo de pruebas Unitarias" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2010/01/ejemplo-de-pruebas-unitarias.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcMQ3czfSp7ImA9WxNTGEQ.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-7729853819562819276</id><published>2009-08-21T17:18:00.001-05:00</published><updated>2009-08-21T17:18:02.985-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-21T17:18:02.985-05:00</app:edited><title>Artificial Intelligence Framework Tercer Alpha Release</title><content type="html">&lt;p&gt;Pues si, a casi un año de iniciado el proyecto he decidido ponerle a caminar un poco más, por eso le agregue un control de Usuario Windows Presentation Foundation que te permite ver a la neurona y no solo imaginarla, esto ayuda con que sea más fácil de entender que está pasando.&lt;/p&gt;  &lt;p&gt;Además le actualice la librería para que use .NET Framework 3.5, así también podemos usar las nuevas características que nos ofrece el Framework.&lt;/p&gt;  &lt;p&gt;Espero también para en un Cuarto Release no muy lejano agregar algoritmos de aprendizaje y que se pueda escoger entre que algoritmo de aprendizaje se aplicara sobre la red de Hopfield de ejemplo.&lt;/p&gt;  &lt;p&gt;Quieren ver más? entonces por favor hagan click &lt;a href="http://artint.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=26088"&gt;&lt;strong&gt;aqui&lt;/strong&gt;&lt;/a&gt;. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-7729853819562819276?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9P-HuQ7F_FYtf0W8k4VZ885MuTE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9P-HuQ7F_FYtf0W8k4VZ885MuTE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9P-HuQ7F_FYtf0W8k4VZ885MuTE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9P-HuQ7F_FYtf0W8k4VZ885MuTE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/ur7Zp_bKfZQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/7729853819562819276/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=7729853819562819276" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/7729853819562819276?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/7729853819562819276?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/ur7Zp_bKfZQ/artificial-intelligence-framework.html" title="Artificial Intelligence Framework Tercer Alpha Release" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2009/08/artificial-intelligence-framework.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4GRXk9eSp7ImA9WxJWGEs.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-8826325723199456355</id><published>2009-06-24T11:28:00.001-05:00</published><updated>2009-06-24T11:28:44.761-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-24T11:28:44.761-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="mono" /><category scheme="http://www.blogger.com/atom/ns#" term=".net 3.5" /><category scheme="http://www.blogger.com/atom/ns#" term="asp .net" /><title>Migrando un sitio ASP .NET que funciona en IIS a Apache con MONO</title><content type="html">&lt;p&gt;Algunos se preguntaran? Y a este señor que le paso! Por que anda haicendo esos experimentos! Bueno, la verdad es que el mercado de mi país lo exige, tenemos un decreto del gobierno que indica que se debe propender a usar todo lo que sea Open Source sobre el software propietario en el sector público, y claro si no quieres morir pues tienes que adaptarte, entonces nosotros queremos seguir aprovechando la facilidad de desarrollo de las herramientas MS, y claro poder trabajar con infraestructura Open Source, por eso evaluando algunas alternativas la más viable la ofrece el proyecto &lt;a href="http://www.mono-project.com"&gt;&lt;b&gt;Mono&lt;/b&gt;&lt;/a&gt; que es auspiciado por Novell, en definitiva es una implementación .NET para Linux/MacOs/Windows, algunas empresas como Linden (Second Live) han adoptado ya esta solución.&lt;/p&gt;  &lt;p&gt;Me ha gustado además que a diferencia de muchos otros proyectos Open Source, este tiene un Road Map! Es decir si tienen un camino que intentan seguir, además Novell ha comenzado a dar soporte comercial si usas SUSE Linux en su versión Enterprise, claro esto tiene que se pagado, pero ya es algo mucho más serio que espera a que algún día se corrija un error que no te deja hacer algo o peor aún, adentrarse en un código que no tienes idea de como se hizo para intentar arreglarlo con todas sus posibles consecuencias.&lt;/p&gt;  &lt;p&gt;Bueno después de la publicidad gratis, vamos un poco más a lo técnico, tengo un proyecto ASP .NET 2.0 que fue migrado desde ASP .NET 1.1, funcionando bien, y claro como todos necesitamos que esas cosas funcionen ya, simplemente comencé a investigar un poco del funcionamiento del famoso proyecto Mono, y encontré que hay una imagen en VMware de SUSE Linux (puedes encontrarla &lt;a href="http://www.go-mono.com/mono-downloads/download.html"&gt;&lt;b&gt;aqui&lt;/b&gt;&lt;/a&gt;), ya configurada para que uses tus proyectos .NET, de hecho es bastante fácil de usar, en las instrucciones dice que solo copies tu proyecto a un folder especifico, y voila! Puedes intentar abrirlo desde tu browser, y asi es funciona! Un momento salió un error, pero bueno ya corrió lo que quiere decir que si funciona, una parte, pero funciona, y que decía el error? Error: Failed to create shadow copy (CopyFile).    &lt;br /&gt;Y claro al más puro estilo de los servidores de aplicación o web open source, te da un stack que la verdad no te ayuda mucho, y de paso no cargaba y no cargaba y no cargaba y después de un tiempo de paso Apache empezaba a reusarse a funcionar por completo, y buscando si a alguien le había pasado lo mismo, pues encontré que sí, pero no había una luz de que sucedía, hablaban de un parche que no encontraba donde estaba ni nada, ya eran algunos días en los cuales cada vez se veía menos probable que este proyecto vaya bien por el camino Open Source, hasta ayer en la noche…&lt;/p&gt;  &lt;p&gt;Yo estaba sospechando que por el error lanzado hacia falta algún assembly, y de hecho si era esa la razón del error, pero no era mi assembly, si no uno que por defecto referencia Visual Studio en sus proyectos, y de paso Mono aun no lo implementa, para mi buena suerte di a la primera, en el web.config quite la referencia al assembly System.Data.DataSetExtensions, busquen en su web.config esta línea específicamente: &lt;/p&gt;  &lt;p&gt;&amp;lt;add assembly=&amp;quot;System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089&amp;quot;/&amp;gt;&lt;/p&gt;  &lt;p&gt;Si no están usando nada de ese assembly quítenlo y listo! Ahora si están usando algo de ese assembly (basicamente LinQ a DataSets) y necesitan hacerlo funcionar, la única solución es reemplazar esos métodos por métodos propios, y esperar y/o contribuir a que el proyecto Mono implemente esa parte de .NET, si no les funciona lo que les estoy sugiriendo, van a tener que seguir quitando referencias, de una en una a ver cuál es la que está molestando.   &lt;br /&gt;Se que se al parecer lo han reconocido como un Bug, y lo están arreglando, pero eso será hasta la versión 2.4.2, a veces uno no puede esperar tanto asi es que encuentra este tipo de soluciones.&lt;/p&gt;  &lt;p&gt;Para mayor referencia el thread que leí es este:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.nabble.com/Error%3A-Failed-to-create-shadow-copy-%28CopyFile%29.-td24091798ef1367.html"&gt;&lt;b&gt;http://www.nabble.com/Error%3A-Failed-to-create-shadow-copy-%28CopyFile%29.-td24091798ef1367.html&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Ahí sugieren que puede ser la referencia al Entity Framework de MS, si tienen esa referencia y no la usan, entonces quítenla y a probar!&lt;/p&gt;  &lt;p&gt;Bueno si tienen este tipo de problemas comenten por favor, así podemos intentar resolver estos problemas y de paso ayudar a madurar el proyecto Mono, es a mi forma de ver una muy buena alternativa para no perder los skills .NET y darle una opción a los clientes!&lt;/p&gt;  &lt;p&gt;Ojala les sirva!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-8826325723199456355?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/cJnxJMAIpIlIEqdrRciHDxrlBqw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cJnxJMAIpIlIEqdrRciHDxrlBqw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/cJnxJMAIpIlIEqdrRciHDxrlBqw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cJnxJMAIpIlIEqdrRciHDxrlBqw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/BLVkIiXBPe4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/8826325723199456355/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=8826325723199456355" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/8826325723199456355?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/8826325723199456355?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/BLVkIiXBPe4/migrando-un-sitio-asp-net-que-funciona.html" title="Migrando un sitio ASP .NET que funciona en IIS a Apache con MONO" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2009/06/migrando-un-sitio-asp-net-que-funciona.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ICR3o4eSp7ImA9WxJTFU0.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-6508551318808513475</id><published>2009-04-23T12:51:00.002-05:00</published><updated>2009-04-23T12:59:26.431-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-23T12:59:26.431-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tfs" /><category scheme="http://www.blogger.com/atom/ns#" term="x64" /><category scheme="http://www.blogger.com/atom/ns#" term="tfs sdk" /><category scheme="http://www.blogger.com/atom/ns#" term="Vista" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="team foundation server" /><category scheme="http://www.blogger.com/atom/ns#" term="visual studio 2008" /><category scheme="http://www.blogger.com/atom/ns#" term="tfs api" /><title>Error al usar TFS API en Vista x64</title><content type="html">Hace tiempo que no escribia algo interesante, bueno por cosas de la vida ando haciendo unas herramientas extra para TFS, la computadora en la que trabajo tiene Windows Vista Business x64, y claro trato de tener todo en x64, pero Visual Studio 2k5 y 2k8 aun no son del todo x64, ademas de los APIs de TFS que tampoco son x64, estan compilados para x86, si no me creen vayan a su GAC y compruebenlo por ustedes mismo...&lt;br /&gt;El punto es que via pruebas unitarias todo funcionaba perfecto, incluso hice unas formas que las ejecute con Team Tester para probar, todo de maravilla, pero cuando el Host de esas formas cambio a ser un compilado externo comenzo a arrojar el siguiente error:&lt;br /&gt;&lt;br /&gt;No se puede cargar el archivo o ensamblado 'Microsoft.TeamFoundation.Client, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' ni una de sus dependencias. El sistema no puede encontrar el archivo especificado.&lt;br /&gt;&lt;br /&gt;La verdad me di algunas vueltas, encontre que cuando unstalas SP1 de VS 2008 al parecer a veces no lo hace bien, por lo que te sugieren reinstalarlo, y lo hice, pero no se resolvio el problema, segui dando vueltas y me encontre con este post:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://weblogs.asp.net/omarv/archive/2008/10/10/using-the-tfs-api-in-your-64-bit-development-environment.aspx?CommentPosted=true#commentmessage"&gt;http://weblogs.asp.net/omarv/archive/2008/10/10/using-the-tfs-api-in-your-64-bit-development-environment.aspx?CommentPosted=true#commentmessage&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Aqui en resumen te dice que la configuracion de tu programa host debe ser x86, asi funciona como arte de magia!&lt;br /&gt;&lt;br /&gt;Solo con cambiar eso encontro el assembly que no encontraba, y es logico que en pruebas unitarias funcione, VS esta compilado para x86 entonces como hace de host para las pruebas encuentra facil el assembly.&lt;br /&gt;&lt;br /&gt;Bueno si tienen problemas dejenme saber para ayudarles!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-6508551318808513475?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lYUj3nEICmxiUaVhT9k80pavzJY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lYUj3nEICmxiUaVhT9k80pavzJY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/lYUj3nEICmxiUaVhT9k80pavzJY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lYUj3nEICmxiUaVhT9k80pavzJY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/AyF5E2Hw5RI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/6508551318808513475/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=6508551318808513475" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/6508551318808513475?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/6508551318808513475?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/AyF5E2Hw5RI/error-al-usar-tfs-api-en-vista-x64.html" title="Error al usar TFS API en Vista x64" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2009/04/error-al-usar-tfs-api-en-vista-x64.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMNQHwzcCp7ImA9WxVbE0o.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-2219098061477915479</id><published>2009-03-29T19:54:00.001-05:00</published><updated>2009-03-29T19:54:51.288-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-29T19:54:51.288-05:00</app:edited><title>Estimación de Hardware Requerido por SQL Server 2005</title><content type="html">&lt;p&gt;Esta tarea normalmente se hace un tanto difícil, siempre es mejor usar laboratorios de pruebas para poder especificar exactamente las características de hardware que una solución que construyes requiere, lo que puedes tener una idea fácil es de cuantas transacciones al dia vas a tener, y cuanto tu base de datos va a crecer, ok y con eso que hago? Cuantos recursos consume SQL Server 2005? Cuanta redundancia necesito? Y muchas otras preguntas normalmente asaltan nuestro trabajo…&lt;/p&gt;  &lt;p&gt;Afortunadamente la gente de HP ha hecho nuestra vida mas fácil, ellos hicieron los laboratorios de pruebas y nos pueden decir rápidamente que necesitamos, y claro de paso que servidor de ellos se ajusta, como? Con las herramientas que se encuentran en este link:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://h71019.www7.hp.com/ActiveAnswers/cache/70729-0-0-225-121.html?jumpid=reg_R1002_USEN"&gt;&lt;b&gt;http://h71019.www7.hp.com/ActiveAnswers/cache/70729-0-0-225-121.html?jumpid=reg_R1002_USEN&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;La herramienta HP ProLiant Transaction Processing Sizer for Microsoft SQL Server 2005 (x64)&amp;#160; es la que mas recomiendo, definitivamente la mejor arma para estimar con confianza que hardware recomendar, además muy fácil de usar por que funciona en base a un cuestionario que respondes y de paso tiene un actualizador que te mantiene al día los parámetros requeridos por SQL Server 2005.&lt;/p&gt;  &lt;p&gt;Espero que les ayude tanto como a mí!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-2219098061477915479?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pNwQT_r-nHCb-IaPI615EMugpBw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pNwQT_r-nHCb-IaPI615EMugpBw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/pNwQT_r-nHCb-IaPI615EMugpBw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pNwQT_r-nHCb-IaPI615EMugpBw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/hV9B0wY7TNo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/2219098061477915479/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=2219098061477915479" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/2219098061477915479?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/2219098061477915479?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/hV9B0wY7TNo/estimacion-de-hardware-requerido-por.html" title="Estimación de Hardware Requerido por SQL Server 2005" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2009/03/estimacion-de-hardware-requerido-por.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QAQXo6fip7ImA9WxVXFEg.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-4232925627716312184</id><published>2009-02-12T12:04:00.003-05:00</published><updated>2009-02-12T12:22:20.416-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-12T12:22:20.416-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="load balancer" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="wcf" /><category scheme="http://www.blogger.com/atom/ns#" term="f5" /><title>WCF y Balanceadores de Carga F5 Big IP</title><content type="html">Como ultimamente sucede ando haciendo servicios Web, y me encanta WCF para hacerlo por muchas razones, en especial la rapidez con la que uno puede hacer cosas complejas, y como era de esperarse en una de las implementaciones que hice por el crecimiento que tienen, cambiaron sus balanceadores de carga de software por "cajas" &lt;a href="http://en.wikipedia.org/wiki/F5_Networks"&gt;F5 Big IP&lt;/a&gt; estas definitivamente son muy buenas para distribuir la carga y bajar el procesamiento de los servidores, por que entre otras cosas mas que balancear carga, se pueden encargar del procesamiento SSL, y por su puesto esto es un alivio para los servidores! Pero no para los servicios WCF que usan credenciales en el mensaje...&lt;br /&gt;Resulta que como el F5 se encarga del procesamiento SSL, cuando el trafico es pasado al servidor de turno este pasa plano, claro para apliaciones web es facil configurar para que se reciba el trafico plano, de hecho en ciertos casos no hay que hacer nada, pero si usas un servicio WCF con credenciales en el mensaje, por restricciones de seguridad TIENES QUE USAR SEGURIDAD EN EL TRANSPORTE, esto significa encriptar la comunicación con SSL, no hay otra forma, o incurrir en otras practicas no recomendadas como pasar las credenciales como parametros de los mensajes (no hagan esto nunca!) y demas...&lt;br /&gt;&lt;br /&gt;Uno puede notar el problema cuando claro ya configurado el F5 y apuntas a tu servicio con Seguiridad en el Transporte y Credenciales en el Mensaje, el trafico pasa y en el servidor donde se ejecuta el servicio te dicen que no pueden validar los mensajes que llegan, y de vuelta tambien tienes el mismo resultado, Faults diciendo que la seguridad no puede ser verificada, ok si tienes estos mensajes tienes el problema...&lt;br /&gt;&lt;br /&gt;Hay 2 soluciones, la primera implementar un canal Http que permite que se pasen las credenciales en el mensaje sin seguridad en el transporte, eso puedes encontrar como hacerlo aca: &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/87a254c8-e9d1-4d4c-8f62-54eae497423f/"&gt;http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/87a254c8-e9d1-4d4c-8f62-54eae497423f/&lt;/a&gt;, pero la verdad no les recomiendo esto, revise un poco profundamente y hay ciertos casos en que no funciona completamente, y ademas es un poco complicado, ademas una advertencia es que si haces esto los mensajes pasan planos por la red y pueden ser vistos facilmente con un sniffer bien ubicado en la red...&lt;br /&gt;&lt;br /&gt;La otra opcion antes no era posible, pero ahora si, antes los F5 no podian pasar el trafico SSL al servidor, solo podian pasarlo plano, gracias al soporte de F5 se nos indico que hoy ya se puede hacerlo, les sugiero que para los pasos exactos contacten al soporte de F5, los pasos basicos y no detallados en resumen son estos:&lt;br /&gt;&lt;br /&gt;1.- Crear un virtual server en el puerto 443 y a el asociar un Profile SSL Server&lt;br /&gt;2.- Crear un pool en el puerto 443 y poner como member server el servidor&lt;br /&gt;3.- Dividir el certificado a usar en 2, 1 es el certificado y otro es la clave, subirlo al F5 a las ubicaciones correspondientes para cada tipo&lt;br /&gt;4.- Crear un SSL Proxy, usando el certificado y la clave que se subio anteriormente&lt;br /&gt;5.- Configurar a que apunte a los servidores correctos&lt;br /&gt;&lt;br /&gt;Estos son pasos con mucha falta de detalle, yo insisto en que consulten a su soporte F5 para los pasos detallados, la consulta es como hacer un Servidor SSL de Cliente, para que el servidor reciba el trafico SSL.&lt;br /&gt;&lt;br /&gt;Espero les sirva!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-4232925627716312184?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SiXzdf4CvK4ik4ejzqJyNv11hws/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SiXzdf4CvK4ik4ejzqJyNv11hws/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SiXzdf4CvK4ik4ejzqJyNv11hws/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SiXzdf4CvK4ik4ejzqJyNv11hws/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/6mSSciDkr9U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/4232925627716312184/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=4232925627716312184" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/4232925627716312184?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/4232925627716312184?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/6mSSciDkr9U/wcf-y-balanceadores-de-carga-f5-big-ip.html" title="WCF y Balanceadores de Carga F5 Big IP" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2009/02/wcf-y-balanceadores-de-carga-f5-big-ip.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcMSHkzfCp7ImA9WxVTGU8.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-1739916121871008170</id><published>2009-01-02T15:10:00.001-05:00</published><updated>2009-01-02T15:11:29.784-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-02T15:11:29.784-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="internet explorer" /><category scheme="http://www.blogger.com/atom/ns#" term="Beta" /><title>Una caracteristica interesante de IE 8</title><content type="html">&lt;p&gt;Desde hace un tiempo estoy probando Internet Explorer 8, y definitivamente me agrada mucho, tiene muchas cosas que de verdad te ayudan con el dia a dia de la navegacion, ejemplo a quien no le ha pasado que se le cerro un tab que no queria cerrar? A mi me pasa y bastante! Pues con Internet Explorer 8 puedes recuperar ese tab perdido en accion! Como? Simple en cuanto se haya cerrado abre otro nuevo tab, En la parte superior izquierda te aparecera Reopen closed tabs, “Reabrir tabs cerrados” en español ahi justo abajo del titulo encontraras el tab que acabas de cerrar, o si quieres ver otros tabs que cerraste podras abrir tu historial de navegacion para encontrarlo!!&lt;/p&gt;  &lt;p&gt;En lo personal me ayuda mucho, claro no es un punto de que definitivamente haga que cambies de browser, pero si otras cosas como que definitivamente es mas rapido, los WebSlices, los aceleradores y cosas como el In-Private browsing, bueno aun estan en Beta 2, hay que esperar un poco mas de trabajo de la gente de MS, esperemos un browser de verdad competitivo es este nuevo año!!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-1739916121871008170?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CSQ8Ya18SkWOE26JZsgAUsGI8mQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CSQ8Ya18SkWOE26JZsgAUsGI8mQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CSQ8Ya18SkWOE26JZsgAUsGI8mQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CSQ8Ya18SkWOE26JZsgAUsGI8mQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/43fl2hML4zw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/1739916121871008170/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=1739916121871008170" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/1739916121871008170?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/1739916121871008170?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/43fl2hML4zw/una-caracteristica-interesante-de-ie-8.html" title="Una caracteristica interesante de IE 8" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2009/01/una-caracteristica-interesante-de-ie-8.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQNQHgyfip7ImA9WxBSF0Q.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-9137953494989508577</id><published>2008-12-25T21:57:00.002-05:00</published><updated>2009-12-25T21:59:51.696-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-25T21:59:51.696-05:00</app:edited><title>Resultados de la búsqueda Personalizada</title><content type="html">&lt;div id="cse-search-results"&gt;&lt;/div&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;  var googleSearchIframeName = "cse-search-results";&lt;br /&gt;  var googleSearchFormName = "cse-search-box";&lt;br /&gt;  var googleSearchFrameWidth = 800;&lt;br /&gt;  var googleSearchDomain = "www.google.com";&lt;br /&gt;  var googleSearchPath = "/cse";&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript" src="http://www.google.com/afsonline/show_afs_search.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-9137953494989508577?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tuEt6_odSpjdenEV66wmk0WOzxU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tuEt6_odSpjdenEV66wmk0WOzxU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tuEt6_odSpjdenEV66wmk0WOzxU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tuEt6_odSpjdenEV66wmk0WOzxU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/AVRygO4zSp8" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/9137953494989508577?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/9137953494989508577?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/AVRygO4zSp8/resultados-de-la-busqueda-personalizada.html" title="Resultados de la búsqueda Personalizada" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://fcolomas.blogspot.com/2008/12/resultados-de-la-busqueda-personalizada.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cGQno4fip7ImA9WxBSF0Q.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-7293573451307984894</id><published>2008-11-27T11:36:00.002-05:00</published><updated>2009-12-25T21:37:03.436-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-25T21:37:03.436-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".net framework 3.0" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="web services" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="security" /><category scheme="http://www.blogger.com/atom/ns#" term="wcf" /><category scheme="http://www.blogger.com/atom/ns#" term=".net 3.5" /><title>Problemas con SSL y WCF??</title><content type="html">&lt;p&gt;Un gran problema que normalmente se presenta cuando se usa SSL para las comunicaciones es que por supuesto no se cuenta con un certificado SSL valido, claro en los exploradores uno tiene la opcion de entrar indicandole al explorador que uno asume el riesgo, pero con WCF esto no puede ser hecho, asi de facil :)&lt;/p&gt;&lt;p&gt;El truco esta en hacer que el metodo que inspecciona la validez del certificado sea sobrecargado o a su vez sobrepuesto por otro (override), como? Hay una par de posibilidades:&lt;/p&gt;&lt;p&gt;1. Crear un metodo con el delegado RemoteCertificateValidationCallback &lt;/p&gt;&lt;p&gt;Este delegado hace que en el evento de ServerCertificateValidationCallback se ejecute la validación que uno quiera, entonces se crea un metodo como este:&lt;/p&gt;&lt;p&gt;public class clsCertificatePolicy : ICertificatePolicy&lt;br /&gt;   {&lt;br /&gt;       public bool CheckValidationResult(ServicePoint srvPoint, X509Certificate certificate, WebRequest request, int certificateProblem)&lt;br /&gt;       {&lt;br /&gt;           return true;&lt;br /&gt;       } &lt;/p&gt;&lt;p&gt;      &lt;strong&gt;public static bool RemoteCertificateValidationCallback(object sender, X509Certificate certtificate, X509Chain chain, SslPolicyErrors errors)&lt;br /&gt;       {&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;           //Aqui las validaciones, yo siempre acepto el certificado, no lo hagan en casa!!&lt;br /&gt;           return true;&lt;br /&gt;       }&lt;br /&gt;&lt;/strong&gt;   }&lt;/p&gt;&lt;p&gt;Y claro hay que ponerlo como manejador del evento:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ServicePointManager.ServerCertificateValidationCallback =&lt;br /&gt;                clsCertificatePolicy.RemoteCertificateValidationCallback;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;Este claro debe estar antes de la o las llamadas, les aconsejo lo agreguen en un lugar general, es decir por ejemplo cuando su aplicación inicia.&lt;/p&gt;&lt;p&gt;Pero hay un metodo aun mas facil:&lt;/p&gt;&lt;p&gt;2. Usando una expresion lambda lo podemos hacer asi:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ServicePointManager.ServerCertificateValidationCallback =&lt;br /&gt;((sender, certificate, chain, sslPolicyErrors) =&amp;gt; true);&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;A quien se le ocurrio las epxresiones lambda deberia ser premiado!!&lt;/p&gt;&lt;p&gt;Espero que les sirva…&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;P.D.: No fui muy explicito en algunos detalles, la clase que propongo debe estar junto al proxy cliente que se usa para la comunicacion del cliente WCF hacia el servidor, y la asignacion del manejador del evento deber ser hecha en lo posible cuando inicia el programa, antes de usar el cliente WCF, solo tiene que ser hecha una sola vez! &lt;/p&gt;&lt;p&gt;Cualquier duda por favor avisenme!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-7293573451307984894?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pXQ7pLyBB4NqJ5fzb2Ixd-vg4YE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pXQ7pLyBB4NqJ5fzb2Ixd-vg4YE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/pXQ7pLyBB4NqJ5fzb2Ixd-vg4YE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pXQ7pLyBB4NqJ5fzb2Ixd-vg4YE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/JJCSDQUxsmk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/7293573451307984894/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=7293573451307984894" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/7293573451307984894?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/7293573451307984894?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/JJCSDQUxsmk/problemas-con-ssl-y-wcf.html" title="Problemas con SSL y WCF??" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2008/11/problemas-con-ssl-y-wcf.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcDQHw5fyp7ImA9WxRWEEo.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-5926577986763436398</id><published>2008-10-14T19:38:00.002-05:00</published><updated>2008-10-26T21:04:31.227-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-26T21:04:31.227-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".net framework 3.0" /><category scheme="http://www.blogger.com/atom/ns#" term="web 2.0" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="wcf" /><category scheme="http://www.blogger.com/atom/ns#" term=".net 3.5" /><title>Performance Counters de WCF</title><content type="html">&lt;p&gt;Desde que se inventaron esos famosos contadores de rendimiento que incorpora Windows definitivamente la vida de los desarrolladores se volvio mas clara!! Uno puede saber muchas cosas, como por ejemplo cuantas llamadas se hace por segundo al servicio, o a un endpoint especifico, o aun metodo especifico!! No les agradaria?? Pues a mi me sirve mucho para las tareas de mejoramiento y para entender como se estan comportando los servicios y los clientes de los mismos claro, realmente muchos datos para tan poco tiempo!!!&lt;/p&gt;&lt;p&gt;Como se los habilita? En el config de su aplicacion dentro del tag ServiceModel le agregan esto: &lt;/p&gt;&lt;p&gt;&amp;lt;diagnostics performanceCounters="All"/&amp;gt;&lt;/p&gt;&lt;p&gt;Como es de esperarse los contadores de rendimiento que se habilitan son los llamados ServiceModel (En las lista de contadores salen como ServiceModelEnpoint, ServiceModelOperation y ServiceModelService 3.0.0.0), ahi depende de las instancias que tengas podras ver contadores como llamadas por segundo, duracion de la llamada, etc.&lt;/p&gt;&lt;p&gt;A mi me ha resultado muy util, espero que a ustedes tambien!!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-5926577986763436398?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1DxbFlll0_loI7i1EqYkItk952w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1DxbFlll0_loI7i1EqYkItk952w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1DxbFlll0_loI7i1EqYkItk952w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1DxbFlll0_loI7i1EqYkItk952w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/wBcoqMrnLqE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/5926577986763436398/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=5926577986763436398" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/5926577986763436398?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/5926577986763436398?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/wBcoqMrnLqE/performance-counters-de-wcf.html" title="Performance Counters de WCF" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2008/10/performance-counters-de-wcf.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQHSXY7fip7ImA9WxRQF0U.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-919820919084162010</id><published>2008-10-11T22:48:00.001-05:00</published><updated>2008-10-11T22:48:58.806-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-11T22:48:58.806-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ai" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="Beta" /><title>AI Framework con nuevo Release: v0.1.1</title><content type="html">&lt;p&gt;Pues si, a pocos dias del primer release, pues hubo que hacerle algunos ajustes, como por ejemplo reconstruir la base de datos de ejemplos para poder usar la forma de prueba de la red de Hopfield, asi mismo agregar algunas funciones de activacion extra para las neuronas, la de identidad hace que las neuronas sumen sus entradas!, arreglar que las cadenas de conexion a la base sean configurables desde el archivo de configuracion, etc…&lt;/p&gt;  &lt;p&gt;Con esto espero que sea mucho mas usable el Framework asi la gente se interese mas y sea mas claro el uso que se le puede dar a este, si desean verlo esta &lt;a target="_blank" href="http://www.codeplex.com/artint"&gt;aqui&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Espero que les sirva y si tienen algun comentario o desean saber mas del uso del Framework pues solo contactenme!!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-919820919084162010?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/L5ioBxA7ClJ36Na0wcU2AYx8sCs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/L5ioBxA7ClJ36Na0wcU2AYx8sCs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/L5ioBxA7ClJ36Na0wcU2AYx8sCs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/L5ioBxA7ClJ36Na0wcU2AYx8sCs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/7tVSZ4gA_AU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/919820919084162010/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=919820919084162010" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/919820919084162010?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/919820919084162010?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/7tVSZ4gA_AU/ai-framework-con-nuevo-release-v011.html" title="AI Framework con nuevo Release: v0.1.1" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2008/10/ai-framework-con-nuevo-release-v011.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQFRX0-eSp7ImA9WxRREk0.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-6010096658766800327</id><published>2008-09-23T17:01:00.000-05:00</published><updated>2008-09-23T17:01:54.351-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-23T17:01:54.351-05:00</app:edited><title>Servicio de backup en linea</title><content type="html">Hace tiempo que andaba buscando un servicio de backup, que me permita realmente olvidarme de que tengo que hacer backups, siempre uno no tiene esa costumbre de realizar respaldos a conciencia, y cuando menos se lo espera, puff!! Se robaron la compu, se daño el disco duro, formateamos la maquina, cayo virus, etc....&lt;br /&gt;&lt;br /&gt;Y justo ahi es cuando nos damos cuenta de la importancia de un respaldo...&lt;br /&gt;&lt;br /&gt;Con la afluencia de los servicios en linea se ha abierto muchos de backups, no todos son gratis u ofrecen muy poco espacio, pero este definitivamente fue ideal...&lt;br /&gt;&lt;br /&gt;Encripta tu informacion antes de subirla con un algoritmo Blowfish de 448 bits, virtualmente imposible de romper, y lo hace todo en aproximadamente una hora, es decir vas al almuerzo y cuando vuelves voila!! Tu vida digital esta a salvo!!&lt;br /&gt;&lt;br /&gt;No conforme con eso puedes personalizar todo lo que quieras respaldar, para mi caso mi codigo fuente por su puesto, y tambien lo que no quieras respaldar, no solo funciona en Windows si no tambien en MacOS lo cual es una amplia ventaja competitiva!!&lt;br /&gt;&lt;br /&gt;Si se animan aqui esta el link: &lt;a href="https://mozy.com/?code=FN8WH3"&gt;https://mozy.com/?code=FN8WH3&lt;/a&gt; con eso ustedes reciben 2.2GB de almacenamiento y a mi tambien me dan un poco mas de espacio para los backups, olvide mencionar que te dan 256MB gratis por cada nuevo usuario que refieres?? Y sin limite de referidos?? Interesante verdad?? Pero si quieres tener espacio ilimitado puedes pagar como 5$ al mes y listo! Espacio ilimitado!!&lt;br /&gt;&lt;br /&gt;Es una buena precaucion tener este servicio, no cuesta y te traera la paz mental que necesitas!!!&lt;br /&gt;&lt;br /&gt;Ojala les sirva!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-6010096658766800327?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/M6fsb7GYcEuD1wYWY7Qkd3L-kFs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/M6fsb7GYcEuD1wYWY7Qkd3L-kFs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/M6fsb7GYcEuD1wYWY7Qkd3L-kFs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/M6fsb7GYcEuD1wYWY7Qkd3L-kFs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/iKVgQfdnNkY" height="1" width="1"/&gt;</content><link rel="related" href="https://mozy.com/?code=FN8WH3" title="Servicio de backup en linea" /><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/6010096658766800327/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=6010096658766800327" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/6010096658766800327?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/6010096658766800327?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/iKVgQfdnNkY/servicio-de-backup-en-linea.html" title="Servicio de backup en linea" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2008/09/servicio-de-backup-en-linea.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQARn87eip7ImA9WxRREU8.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-7907386549916853022</id><published>2008-09-22T18:48:00.005-05:00</published><updated>2008-09-22T19:05:47.102-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-22T19:05:47.102-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="codeplex" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><title>Artifitial Intelligence Framework Project</title><content type="html">&lt;a href="http://2.bp.blogspot.com/_qqka4qIToto/SNgywDDTzKI/AAAAAAAAABo/B7WUrXBKGTE/s1600-h/CDFP+Thumbnail.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; DISPLAY: block; CURSOR: hand" id="BLOGGER_PHOTO_ID_5249001166734609570" border="0" alt="" src="http://2.bp.blogspot.com/_qqka4qIToto/SNgywDDTzKI/AAAAAAAAABo/B7WUrXBKGTE/s400/CDFP+Thumbnail.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_qqka4qIToto/SNgyDFZjOCI/AAAAAAAAABg/RgqvH1pqQXQ/s1600-h/CDFP+Thumbnail.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Con un inmenso gusto quiero contarles que he publicado un proyecto llamado Artifitial Intelligence Framework en CodePlex!!&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Asi como cada hombre durante su vida deberia plantar un arbol, cada desarrollador deberia crear un proyecto Open Source en su carrera, el AI Framework es un trabajo que tengo hace algun tiempo y he querido compartir con todos, y bueno de que trata??&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Es un conjunto de librerias en C# 2.0 que permiten crear redes neuronales como uno desee, sin limites, asi mismo se puede recrear famosas redes neuronales como la de Hopfield o la maquina de Bolts con un poco de esfuerzo, y mas que nada es completamente gratis!! Cuando era estudiante para hacer ese tipo de software era pagado, y un dia para hacer un proyecto me toco desarrollar desde 0 toda la red neuronal, asi es que decidi de paso crearme algo un poco mas flexible...&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Que se puede hacer con este proyecto??&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;- Crear y configurar tu propia red neuronal&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;- Entrenar tu red nuronal&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;- Probar tu red neuronal&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Y asi mismo todo lo relacionado con las redes neuronales, por lo pronto no tiene una interface grafica para diseñar las redes pero lo voy a crear como un proyecto WPF, incorporarle Bloques de Aplicacion para mejorar la calidad del proyecto y cosas asi, ademas como es usual se necesita contribuidores!! &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;El link es &lt;a href="http://www.codeplex.com/artint"&gt;http://www.codeplex.com/artint&lt;/a&gt; visitenlo y si tienen preguntas, sugerencias, comentarios o quieren ayudar pues con todo gusto!!&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-7907386549916853022?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vNZsu2E5kkqzq2AAJ67Xa2arcKI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vNZsu2E5kkqzq2AAJ67Xa2arcKI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vNZsu2E5kkqzq2AAJ67Xa2arcKI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vNZsu2E5kkqzq2AAJ67Xa2arcKI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/g3lWk-wGgCs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/7907386549916853022/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=7907386549916853022" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/7907386549916853022?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/7907386549916853022?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/g3lWk-wGgCs/artifitial-intelligence-framework.html" title="Artifitial Intelligence Framework Project" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_qqka4qIToto/SNgywDDTzKI/AAAAAAAAABo/B7WUrXBKGTE/s72-c/CDFP+Thumbnail.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2008/09/artifitial-intelligence-framework.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEFRnczeSp7ImA9WxRTE0o.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-5232690758635557495</id><published>2008-09-02T12:42:00.003-05:00</published><updated>2008-09-02T13:03:37.981-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-02T13:03:37.981-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ado" /><category scheme="http://www.blogger.com/atom/ns#" term="sql server" /><category scheme="http://www.blogger.com/atom/ns#" term="enterprise library" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><title>Comportamiento Extraño cuando haces commit con SQL Server y ADO .NET??</title><content type="html">Hace algunos dias estaba buscando por que habia un comportamiento extraño en un software que desarrolle y estaba en produccion ya durante años, pero por cosas de la vida le cambiaron de servidor y como era de esperarse dejo de funcionar...&lt;br /&gt;Lo que sucedia en escencia es que al dar commit en una transaccion sql, por medio del objeto SQLTransaction de ADO .NET, resulta que daba errores como el siguiente: "&lt;br /&gt;This SqlTransaction has completed; it is no longer usable" o "&lt;br /&gt;System.NullReferenceException", la verdad no sabia que pasaba, segun yo el software no fue modificado para nada asi es que le heche la culpa a la base de datos!! Busque tanto que era lo que pasaba y di con algunas posibles explicaciones como por ejemplo que SQL Server no tenia los suficientes recursos y en consecuencia cerraba ciertas transacciones sin avisar, esto si pasaba en SQL 2000 pero lo parcharon, y ese tipo de cosas que suenan a veces un tanto extraordinarias...&lt;br /&gt;&lt;br /&gt;No hay peor ciego que el que no quiere ver, asi reza el dicho, y es cierto, lo que sucede es que hace algunos años no era fanatico de lo que ahora se conoce como el Data Access Application Block de Enterprise Library, tenia una clase pequeña que hacia las veces de ese bloque de aplicacion, trataba claro que use las mejores practicas y todo, no se cuando sucedio pero tenia yo dentro de esta clase dos metodos que hacian commit o rollback a la transaccion, y se veian algo asi:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public static void CommitTran(SqlTransaction psqlTran)&lt;br /&gt;{&lt;br /&gt;    psqlTran.Commit();&lt;br /&gt;    psqlTran.Connection.Close();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Pues resulta que nunca supe, aunque dedia suponerlo, que cuando uno usa el metodo Commit o Rollback de un Objeto SQLTransaction la conexion que usa se CIERRA!! y Claro en la segunda instruccion quiere cerrar la conexion que esta cerrada y ese es el origen del error!!&lt;br /&gt;Que ciego!! Pase un buen tiempo luchando con esto por que tengo que agregar que no siempre se daba este error, lo cual es realmente extraño, pero como les digo solo hace falta el commit o el rollback, nada mas!! Entonces debe quedarles algo asi:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public static void CommitTran(SqlTransaction psqlTran)&lt;br /&gt;{&lt;br /&gt;psqlTran.Commit();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;O mejor aun, usen el Enterprise Library con el Data Access Aplication Block, asi no cometeran errores como el mio!!!&lt;br /&gt;&lt;br /&gt;Ojala les sirva!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-5232690758635557495?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/UirNtqGfCcTX4o2roYvaSlTm4rk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UirNtqGfCcTX4o2roYvaSlTm4rk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/UirNtqGfCcTX4o2roYvaSlTm4rk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UirNtqGfCcTX4o2roYvaSlTm4rk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/yk_fAEZKS8w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/5232690758635557495/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=5232690758635557495" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/5232690758635557495?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/5232690758635557495?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/yk_fAEZKS8w/comportamiento-extrao-cuando-haces.html" title="Comportamiento Extraño cuando haces commit con SQL Server y ADO .NET??" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2008/09/comportamiento-extrao-cuando-haces.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU4BRXc6eCp7ImA9WxdbFUg.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-1106108989992494166</id><published>2008-08-12T09:56:00.000-05:00</published><updated>2008-08-12T10:12:34.910-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-12T10:12:34.910-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gis" /><category scheme="http://www.blogger.com/atom/ns#" term="geoespacial" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="autocad map" /><category scheme="http://www.blogger.com/atom/ns#" term="autocad" /><category scheme="http://www.blogger.com/atom/ns#" term="oracle" /><title>Alternativa a AutoCAD MAP??</title><content type="html">Como en algunos posts mios pasados se ha notado, he luchado con el AutoCAD MAP 3D 2008 con algunos problemas, como por ejemplo que no funciona bien con Windows Vista hasta que le pones un Service Pack de AutoCAD via la actualizacion automatica, y claro la inmensa falta de soporte que se afronta, no hay un tutorial o algo que te ayude a iniciarte con el AutoCAD MAP y C#, quiero escribir un articulo sobre eso para que la gente se oriente espero terminarlo en estos meses, pero la verdad a ratos ha sido muy frustrante trabajar con los datos geoespaciales y todo...&lt;br /&gt;En esas investigaciones de una alternativa el año pasado me encontre con algo interesante unos controles de ThinkGeo, pero en ese entonces no soportaban el acceso a una base geoespacial como Oracle Spatial, solo soportaban shapefiles lo cual en aplicaciones profesionales realmente no es practico, es decir 300 clientes sobre un solo archivo no es saludable, pero en estos dias he recibido una noticia muy alentadora, en la nueva version de los componentes de ThinkGeo ya se soporta el acceso a bases geoespaciales!! Y de verdad es muy sencillo usarlo, y que mas ventajas uno espera de esto? Simple, los costos pueden recortarse de una manera expectacular!! El costo de una liciencia de AutoCAD MAP 3D  puede reemplazar la licencia de los componentes para un servidor web y dar servicio a muchos clientes con la funcionalidad que necesitan(cambiar los datos, mover los shapes, crear nuevos, etc.) y solo pones AutoCAD MAP 3D cuando de verdad lo necesitas!!&lt;br /&gt;&lt;br /&gt;Creanme es de verdad una opcion genial esto, quieren una probada?&lt;br /&gt;&lt;br /&gt;http://gis.thinkgeo.com/Products/MapSuite30Roadmap/tabid/636/Default.aspx &lt;br /&gt;&lt;br /&gt;Ojala les sirva!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-1106108989992494166?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/I6crnUutCPewTXdTO0hyWfyaoBM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/I6crnUutCPewTXdTO0hyWfyaoBM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/I6crnUutCPewTXdTO0hyWfyaoBM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/I6crnUutCPewTXdTO0hyWfyaoBM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/OKPOB4sSVM8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/1106108989992494166/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=1106108989992494166" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/1106108989992494166?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/1106108989992494166?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/OKPOB4sSVM8/alternativa-autocad-map.html" title="Alternativa a AutoCAD MAP??" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2008/08/alternativa-autocad-map.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8MQn8yfCp7ImA9WxdVEU4.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-5398847205288957222</id><published>2008-07-15T10:38:00.000-05:00</published><updated>2008-07-15T11:21:23.194-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-15T11:21:23.194-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ado" /><category scheme="http://www.blogger.com/atom/ns#" term="framework" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="net" /><category scheme="http://www.blogger.com/atom/ns#" term="database" /><category scheme="http://www.blogger.com/atom/ns#" term="oracle" /><title>ORA-03113 en .NET, que significa??</title><content type="html">Como es de costumbre en una de mis implantaciones tuve un poco de problemas, en un principio todo iba bien hasta que subitamente la aplicacion se comportaba de un modo extraño, como si dejara de funcionar por momentos, revisando los servicios y los logs resulta que comenzaba a dar errores como el ORA-031315: connection lost contact seguido del ORA-03114: not conected to oracle, la verdad era muy extraño por que definitivamente todas las buenas practicas se estaban siguiendo, es mas la parte del manejo de datos recaia completamente en Enterprise Library 3.1, el driver que usaba era el standar de MS con un cliente Oracle 10.2.0.3, de cierto modo parecia que por alguna razon la base de datos desconectaba a quienes estuvieran como por un timeout, pues bien buscando un poco por los foros encontramos unos parametros de la base de datos que podrian ayudarnos un poco, estos estan en el archivo sqlnet.ora y no vienen escritos por defecto:&lt;br /&gt;&lt;br /&gt;SQLNET.EXPIRE_TIME =10&lt;br /&gt;SQLNET.INBOUND_CONNECT_TIMEOUT = 300&lt;br /&gt;SQLNET.SEND_TIMEOUT = 300&lt;br /&gt;SQLNET.RECV_TIMEOUT = 300&lt;br /&gt;&lt;br /&gt;Al agregarlos el DBA dijo que solo hacia falta reiniciar el listener, yo la verdad por precaucion reiniciaria el servidor...&lt;br /&gt;&lt;br /&gt;Con esto la verdad que se estabilizo bastante, por un rato... Como dije el DBA solo reinicio el listener de la base de datos, despues de otros ORA que aparecieron un tanto erraticos como por ejemplo un ORA-01041 que algunos reportaban como un bug en la base de datos, pues despues volvio a estabilizarse con un ORA-03113: end-of-file on communication channel, y ahora que?? Pues en ese punto ya estaba un poco complicado con la gente de infraestrutura por cuanto ellos insistian en que no hay nada raro en la red, bueno suponiendo eso todo estaba aun mas complicado por cuanto uno usa el pool de conexiones por defecto en .NET y claro no puedes mas que ajustar la cadena de conexion y/o ver los contadores de rendimiento, pero si subitamente las conexiones simplemente se desconectan?? pues las opciones anteriores no son muy valiosas las verdad, pues bueno conversamos un poco, intercambiamos experiencias y todo pero nada era eficaz contra el problema, y claro como normalmente sucede solo a mi aplicacion le pasaba esto y era un hecho que para la gente que maneja la infraestrutura demostraba que algo no estaba bien en mi codigo, de cierto modo tienen razon, pero en que parte!!! &lt;br /&gt;&lt;br /&gt;Al dia siguiente se inicio una serie de pruebas que ya estaban fuera de este tema, y fruto de estas pruebas vi la luz!! Sucedio que estaba conectado a la dichosa base de datos con un TOAD, y otra maquina igual, despues de un cierto tiempo, que no medi, TOAD tambien me dio el mismo error un ORA-03113!! y en la otra maquina tambien!! genial!! por que no era el codigo!! Y que es?? Pues parece que entre la base de datos y los clientes existen un par de routers y firewalls, uno de ellos tenia por politica cortar las conexiones a ese servidor despues de un cierto tiempo, este comportamiento ya nos habian comentado que era el mas posible, a uno de los consultores en otro proyecto ya le habia pasado y nosotros no hicimos mas que dar vueltas!!&lt;br /&gt;Soluciones a esto?? Pues hay un parametro en todo sistema operativo para que las conexiones TCP usen un metodo muy conocido llamado KeepAlive, el cual envia cada cierto tiempo una señal a indicar que esta vivo y claro con esto el Firewall las tomaba como conexiones activas, no tanto pero activas al fin, o cambiar las reglas del firewall para que no corte las conexiones bajo ciertas condiciones claro, entonces resumiendo:&lt;br /&gt;&lt;br /&gt;Si tienen un error ORA-03113 en cualquiera aplicacion, en mi caso .NET, revisen si alguien no les esta cortando las conexiones!! Prueba simple? Pongan el servidor de base de datos en el mismo switch junto con la maquina que tiene el problema y revisen que no hayan firewalls molestando por ahi, definitivamente con esto pueden probar que su aplicacion esta bien!!&lt;br /&gt;&lt;br /&gt;Preguntas? Comentarios? Con gusto los ayudo!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-5398847205288957222?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/D0GS9pv63XsaLjAcpOYmgYMYLG4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/D0GS9pv63XsaLjAcpOYmgYMYLG4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/D0GS9pv63XsaLjAcpOYmgYMYLG4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/D0GS9pv63XsaLjAcpOYmgYMYLG4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/C9Xe4feGgtQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/5398847205288957222/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=5398847205288957222" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/5398847205288957222?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/5398847205288957222?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/C9Xe4feGgtQ/ora-03113-en-net-que-significa.html" title="ORA-03113 en .NET, que significa??" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2008/07/ora-03113-en-net-que-significa.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQDRHs_eSp7ImA9WxdXGEg.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-1203004567238552817</id><published>2008-06-24T15:15:00.000-05:00</published><updated>2008-06-30T15:39:35.541-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-30T15:39:35.541-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".net framework 3.0" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="wcf" /><category scheme="http://www.blogger.com/atom/ns#" term=".net 3.5" /><category scheme="http://www.blogger.com/atom/ns#" term="visual studio 2008" /><category scheme="http://www.blogger.com/atom/ns#" term="isa server" /><title>Cliente WCF detras de un ISA Server o un ProxyServer??</title><content type="html">Como siempre en esas cosas de la vida en un cliente requeriamos que uno de nuestros programas hechos con .NET, de hecho con .NET 3.5 y WCF, como cliente acceda a un Servidor, claro este cliente esta completamente bajo el control de un ISA Server 2004, y cuando queria acceder al servidor me daba el siguiente error:&lt;br /&gt;&lt;br /&gt;When attempting to invoke any of the generated client class methods, we recieve the following error: "The remote server returned an unexpected response: (407) Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy service is denied. )."&lt;br /&gt;&lt;br /&gt;Pero el resto de cosas funcionaban bien!! Internet Explorer, otros programas con acceso a la red y demas!! Que estaba haciendo mal??&lt;br /&gt;Primero pues lo mas evidente, la configuracion de mi cliente en la parte WCF, si ustedes ven en la parte de la configuracion del binding en la seccion transport hay una propiedad llamada proxyCredentialsType en donde puedes decir que credenciales se pasan, claro pasa ISA Server se deben usar las credenciales Windows asi es que intente poner ahi la opcion y pues no no funciono... Mi binding quedaba algo asi&lt;br /&gt;&lt;br /&gt;&amp;ltbinding name="wsData" closeTimeout="00:01:00" openTimeout="00:01:00"&lt;br /&gt;receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"&lt;br /&gt;bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"&lt;br /&gt;maxBufferSize="4194304" maxBufferPoolSize="4194304" maxReceivedMessageSize="4194304"&lt;br /&gt;messageEncoding="Mtom" textEncoding="utf-8" transferMode="Buffered"&lt;br /&gt;useDefaultWebProxy="true"&amp;gt&lt;br /&gt;&amp;ltreaderQuotas maxDepth="128" maxStringContentLength="10000000"&lt;br /&gt;maxArrayLength="65536" maxBytesPerRead="8192" maxNameTableCharCount="16384" /&amp;gt&lt;br /&gt;&amp;ltsecurity mode="None"&amp;gt&lt;br /&gt;&amp;lttransport clientcredentialtype="None"&amp;gtproxyCredentialType="Windows"&amp;lt/strong&amp;gt&lt;br /&gt;realm="" /&amp;gt&lt;br /&gt;&amp;ltmessage clientcredentialtype="UserName" algorithmsuite="Default"&amp;gt&lt;br /&gt;&amp;lt/security&amp;gt&lt;br /&gt;&amp;lt/binding&amp;gt&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Dando vueltas por ahi algunas personas tenian el mismo problema, pero lo mas frustrante es que nadie tenia una respuesta para esto, asi es que segui dando vueltas y en un foro encontre a alguien que si lo logro pero claro despues de una larga charla se llego a la conclusión de que se debia cambiar el machine.config para que se usen las credenciales por defecto, y esto se logra incluyendo estas lineas:&lt;br /&gt;&lt;br /&gt;&amp;ltsystem.net&amp;gt&lt;br /&gt;&amp;ltdefaultProxy enabled="true" useDefaultCredentials="true"&amp;gt &lt;br /&gt;&amp;lt/defaultProxy&amp;gt&lt;br /&gt;&amp;lt/system.net&amp;gt&lt;br /&gt;&lt;br /&gt;Entonces con esto es mejor reiniciar la computadora despues de esto magicamente el error desaparece!!&lt;br /&gt;&lt;br /&gt;Una acotacion, resulta que el machine.config hay que buscarlo en la carpeta del framework 2.0, por que?? Recuerden que tanto Framework 3.0 y 3.5 son agregados al 2.0 por lo tanto el Framework base es 2.0, si no me creen busquen el machine.config en los otros folders y cuando lo encuentren miren detenidamente las secciones que estan al ultimo...&lt;br /&gt;&lt;br /&gt;Ojala les sirva!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-1203004567238552817?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/8UyHAsrV335mj6rwYQ2aaiGAWks/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8UyHAsrV335mj6rwYQ2aaiGAWks/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/8UyHAsrV335mj6rwYQ2aaiGAWks/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8UyHAsrV335mj6rwYQ2aaiGAWks/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/FwJT6Yr95Vc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/1203004567238552817/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=1203004567238552817" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/1203004567238552817?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/1203004567238552817?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/FwJT6Yr95Vc/cliente-wcf-detras-de-un-isa-server-o.html" title="Cliente WCF detras de un ISA Server o un ProxyServer??" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>4</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2008/06/cliente-wcf-detras-de-un-isa-server-o.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUDQHk-fCp7ImA9WxdSGU0.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-720824421670202616</id><published>2008-05-27T10:59:00.000-05:00</published><updated>2008-05-27T11:04:31.754-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-27T11:04:31.754-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="windows service" /><category scheme="http://www.blogger.com/atom/ns#" term="net" /><title>Problemas con los Servicios Windows y .NET??</title><content type="html">Por cosas de la vida en un proyecto de mi oficina usaron extensivamente Servicios Windows para una serie de actividades, asi mismo en produccion dieron muchos problemas, una compañera, Teresita Silva, hizo esta guia con su experiencia, yo algo contribui a solucionar los problemas pero revisen esto:&lt;br /&gt;&lt;br /&gt;Después de que dos servicios Windows hecho por mí me han visto la cara… a continuación van algunos pasos que se deben verificar antes de perder tiempo: &lt;br /&gt;&lt;br /&gt;Asegurarse que la versión del servicio instalado es el correcto. &lt;br /&gt;Revisar la identidad que se encarga de la ejecución del servicio &lt;br /&gt;La identidad debe tener todos los permisos necesarios que va a utilizar el servicio, por ejemplo: &lt;br /&gt;i.       Escribir en directorios del disco duro &lt;br /&gt;ii.       Acceso a Internet &lt;br /&gt;&lt;br /&gt;Hay dos partes donde se configura la identidad cuando es un servicio que se inicia desde una página Web: &lt;br /&gt;i.       La identidad del servicio propio &lt;br /&gt;ii.       La identidad del grupo de aplicaciones o application pool; esta identidad debe tener los permisos suficientes para iniciar servicios Windows. &lt;br /&gt;&lt;br /&gt;Anécdota : Mi servicio no funcionaba bien, xq la identidad que ejecutaba el servicio no tenía acceso a Internet&lt;br /&gt; &lt;br /&gt;La conexión a la base de datos debe ser la correcta &lt;br /&gt;Anécdota : Mi servicio no funcionaba por utilizar TableAdapter, lo cual generaba una cadena de conexión diferente a la usada… de tal forma el error principal era que nunca se conectaba a la base de datos. &lt;br /&gt;&lt;br /&gt;No es suficiente registrar sólo las excepciones manejadas, hay que registrar las excepciones que no son manejadas o controladas. &lt;br /&gt;Anécdota : gracias a esto descubrí que estaba trabajando con una versión de librería antigua cuando la excepción me dio a conocer que no existe el método que estaba llamando. &lt;br /&gt;&lt;br /&gt;Cuando se trabaja con librerías y hay problemas se debe verificar que se está trabajando con la versión correcta o indagar la posibilidad de que nuestro servicio está tomando la librería de otra ubicación. &lt;br /&gt;Anécdota : Mi servicio fallaba, ya que la librería que utilizaba estaba registrada en el GAC… la verdad no me acuerdo pero era indispensable registrarlo x una aplicación Web… el problema era que esa librería no la estaba actualizando. &lt;br /&gt;&lt;br /&gt;Si todos los pasos anteriores ya han sido verificados y aún así el servicio está fallando entonces ahora si hay que revisar el método al que llama el servicio. &lt;br /&gt;Anécdota : Nos jalamos en alguna parte de la programación, si tenemos un Visual Studio instalado en la pc servidor de producción sería más fácil comprobar esto, pero si no podemos hacernos una pequeña aplicación q verifique que el método funciona de forma correcta. &lt;br /&gt;&lt;br /&gt;Yo perdí mucho tiempo xq en ves de revisar desde el paso 1, empecé x revisar desde el paso 6…. Así que es recomendable seguir los pasos; considerando que mi servicio estaba funcionando de forma perfecta hasta que se cambiaron las configuraciones del servidor… y se hizo pasa. &lt;br /&gt;&lt;br /&gt;ojala esto les ayude a ahorrar un poco de tiempo, modificare este post en futuros dias para hacerlo un poco mas claro y didactico!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-720824421670202616?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/n5Mo1srztoXjQpqMwhTHwynEFUI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/n5Mo1srztoXjQpqMwhTHwynEFUI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/n5Mo1srztoXjQpqMwhTHwynEFUI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/n5Mo1srztoXjQpqMwhTHwynEFUI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/Sp-iDK3fNWc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/720824421670202616/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=720824421670202616" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/720824421670202616?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/720824421670202616?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/Sp-iDK3fNWc/problemas-con-los-servicios-windows-y.html" title="Problemas con los Servicios Windows y .NET??" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2008/05/problemas-con-los-servicios-windows-y.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUMQXc9fCp7ImA9WxZbGEU.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-5346507724171654699</id><published>2008-04-22T12:38:00.000-05:00</published><updated>2008-04-22T13:01:20.964-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-22T13:01:20.964-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="best practices" /><category scheme="http://www.blogger.com/atom/ns#" term="enterprise library" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="framework" /><category scheme="http://www.blogger.com/atom/ns#" term="Vista" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="microsoft" /><category scheme="http://www.blogger.com/atom/ns#" term="visual studio 2008" /><title>Problemas con los Performance Counters de Enterprise Library??</title><content type="html">Yo estaba igual, realmente tenia problemas por que salian errores como por ejemplo:&lt;br /&gt;&lt;br /&gt;The requested Performance Counter is not a custom counter, it has to be initialized as ReadOnly. &lt;br /&gt;&lt;br /&gt;Cuando queria usar los performance counters (contadores de rendimiento) del Enteprise Library, salia una excepcion con el texto de arriba, quien iba a saber que faltaba installar los contadores!!! Si asi es no lo hace por defecto, asi es que en su instalacion de Enteprise Library debe buscar el comando InstallServices.bat, y con un usuario con suficientes privilegios ejecutarlo en una consola de comandos de VS2005 o 2008, si estan en Vista es mejor abrir una consola de comandos con privilegios elevados y ejecutar el .bat, despues deberian reiniciar su equipo, tambien debe incluir dentro de su instrumentacion lo siguiente:&lt;br /&gt;&lt;br /&gt; &amp;ltinstrumentationConfiguration performanceCountersEnabled="true"&lt;br /&gt;    eventLoggingEnabled="true" wmiEnabled="false" /%gt&lt;br /&gt;&lt;br /&gt;Claro con la seccion antes incluida, la que esta en el post anterior, ahora cuando se tenga que revisar los contadores ya tendran los valores necesarios!!&lt;br /&gt;&lt;br /&gt;Disfruten de los contadores de rendimiento!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-5346507724171654699?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/UvlS0JbdqrLr1TjP82YOf2iyF8s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UvlS0JbdqrLr1TjP82YOf2iyF8s/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/UvlS0JbdqrLr1TjP82YOf2iyF8s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UvlS0JbdqrLr1TjP82YOf2iyF8s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/fanB0w-3GHA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/5346507724171654699/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=5346507724171654699" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/5346507724171654699?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/5346507724171654699?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/fanB0w-3GHA/problemas-con-los-performance-counters.html" title="Problemas con los Performance Counters de Enterprise Library??" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2008/04/problemas-con-los-performance-counters.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08ERH45fyp7ImA9WxZbGEU.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-1303277575623747668</id><published>2008-04-18T18:10:00.000-05:00</published><updated>2008-04-22T12:36:45.027-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-22T12:36:45.027-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="best practices" /><category scheme="http://www.blogger.com/atom/ns#" term="enterprise library" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><title>Error al quere utilizar la instrumentacion del Enterprise Library 3.1</title><content type="html">Estaba usando el Enterprise Library 3.1 y me hizo falta usar la instrumentacion de la misma, es decir el log de errores, los contadores de rendimiento y todo eso, asi es que recurri a la ayuda que decia que pongas esto en el archivo de configuracion:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;ltconfiguration&amp;gt&lt;br /&gt;&amp;ltconfigsections&amp;gt&lt;br /&gt;&amp;ltsection type="Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.Configuration.InstrumentationConfigurationSection, Microsoft.Practices.EnterpriseLibrary.Common, Version=3.1.0.0, Culture=neutral, PublicKeyToken=null" name="instrumentationConfiguration"&amp;gt&lt;br /&gt;&amp;lt/configsections&amp;gt&lt;br /&gt;&amp;ltinstrumentationconfiguration wmienabled="true" eventloggingenabled="true" performancecountersenabled="true"&amp;gt&lt;br /&gt;&amp;lt/configuration&amp;gt&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Pues bien segui los pasos al pie de la letra, pero salia un error diciendo que no encontraba el assembly, es decir "Could not load assembly Microsoft.Practices.EnterpriseLibrary.Common, Version=3.1.0.0, Culture=neutral, PublicKeyToken=null".... Pero ahi estaba!! junto a los ejecutables donde debia estar junto a todos los assemblies que se hace referencia!! Despues de un buen rato dando vueltas por el Internet, encontre una sugerencia, era para otro assembly pero pense que podia funcionar, quitale el PublicKeyToken=null, por que?? Seguramente el assembly fue firmado entonces el valor de PublicKeyToken dejo de ser null, por consiguiente como siempre que te lanza un error el Framework .NET es el Framework el que tiene la razon!! Estaba buscando otro assembly!! Si asi resulta, el mas minimo cambio de version o de ese tipo de metadata en un assembly resulta que le da una identidad diferente al assembly, aun mas estando ya firmado!!!&lt;br /&gt;&lt;br /&gt;Bien entonces?? la configuracion queda asi:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;ltconfiguration&amp;gt&lt;br /&gt;&amp;ltconfigsections&amp;gt&lt;br /&gt;&amp;ltsection type="Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.Configuration.InstrumentationConfigurationSection, Microsoft.Practices.EnterpriseLibrary.Common, Version=3.1.0.0, Culture=neutral" name="instrumentationConfiguration"&amp;gt&lt;br /&gt;&amp;lt/configsections&amp;gt&lt;br /&gt;&amp;ltinstrumentationconfiguration eventloggingenabled="true"&amp;gt&lt;br /&gt;&amp;lt/configuration&amp;gt&lt;br /&gt;&lt;br /&gt;Cierto me dio otro error que aun no soluciono si dejas el tag instrumentationConfiguration como te dice la documentacion de Enterprise Library, de hecho hay algun problema con instanciar ciertos contadores de rendimiento, asi es que por lo pronto los quite hasta solucionar esto...&lt;br /&gt;&lt;br /&gt;Por que dejo sin solucion el segundo tema de los contadores de performance?? Pues por que hubiera querido publicar un post completo pero note que este error era bastante problematico y podia bloquear el trabajo de mucha gente, ademas nadie ha dado una solucion especifica al tema por lo cual mas de uno debe estar en apuros como yo estaba...&lt;br /&gt;&lt;br /&gt;Esperen mas info sobre el performance counter perdido!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-1303277575623747668?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DCWDcn6dvhVj81Sh4ZRuVfNahHs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DCWDcn6dvhVj81Sh4ZRuVfNahHs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/DCWDcn6dvhVj81Sh4ZRuVfNahHs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DCWDcn6dvhVj81Sh4ZRuVfNahHs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/oVU0qfoApeA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/1303277575623747668/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=1303277575623747668" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/1303277575623747668?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/1303277575623747668?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/oVU0qfoApeA/error-al-quere-utilizar-la.html" title="Error al quere utilizar la instrumentacion del Enterprise Library 3.1" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2008/04/error-al-quere-utilizar-la.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cBRXs5fSp7ImA9WxZbE0Q.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-4816581776313541764</id><published>2008-04-16T18:57:00.000-05:00</published><updated>2008-04-16T19:10:54.525-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-16T19:10:54.525-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ado" /><category scheme="http://www.blogger.com/atom/ns#" term="linq" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="ef" /><category scheme="http://www.blogger.com/atom/ns#" term=".net 3.5" /><category scheme="http://www.blogger.com/atom/ns#" term="database" /><category scheme="http://www.blogger.com/atom/ns#" term="visual studio 2008" /><category scheme="http://www.blogger.com/atom/ns#" term="oracle" /><title>Proveedores de para ADO .NET Entity Framework!!</title><content type="html">La verdad yo si estaba preocupado por que no encontraba proveedores para ADO .NET Entity Framework, ha sido muy comentado que si van a ser producidos por distintas casa, pues bien el primer ejemplo concreto de estas implementaciones, al menos el primero que encuentro, bien den click y sean felices con el Proveedor de MySQL y de Oracle para ADO .NET Entity Framework por Core Labs!!!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.crlab.com/mysqlnet/"&gt;http://www.crlab.com/mysqlnet/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://crlab.com/oranet/"&gt;http://crlab.com/oranet/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-4816581776313541764?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4aCVuqDcPco_TkJTFJHBiDkIHkA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4aCVuqDcPco_TkJTFJHBiDkIHkA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4aCVuqDcPco_TkJTFJHBiDkIHkA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4aCVuqDcPco_TkJTFJHBiDkIHkA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/epJW5t13Mg8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/4816581776313541764/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=4816581776313541764" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/4816581776313541764?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/4816581776313541764?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/epJW5t13Mg8/proveedores-de-para-ado-net-entity.html" title="Proveedores de para ADO .NET Entity Framework!!" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2008/04/proveedores-de-para-ado-net-entity.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcBRHo_cSp7ImA9WxZUFko.&quot;"><id>tag:blogger.com,1999:blog-33901941.post-2469669571600618749</id><published>2008-04-08T11:08:00.000-05:00</published><updated>2008-04-08T11:44:15.449-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-08T11:44:15.449-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tfs" /><category scheme="http://www.blogger.com/atom/ns#" term="Vista" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="team system" /><category scheme="http://www.blogger.com/atom/ns#" term="team foundation server" /><category scheme="http://www.blogger.com/atom/ns#" term="visual studio 2008" /><title>Visual Studio Team System 2008: Mis experimentos y experiencias</title><content type="html">Una de las mas grandes dudas cuando una nueva version de cualquier producto es liberada es el tema de la compatibilidad con el trabajo anteriormente hecho, claro con la salida de VS 2008 esto tambien ha sido una preocupacion, pues les cuento que todo lo que han hecho con VS2005 funciona perfectamente, si quieren usar desde la solucion claro que tiene que convertir el archivo de la solucion pero no es nada dramatico, y claro VS 2008 es multitarget, es decir si quieres construir proyectos para Framework 2.0 de cualquier tipo (Windows, Web, Servicios, etc...) seleccionas en las propiedades del proyecto que Framework vas a usar y voila!! O cuando agregas un nuevo proyecto asi mismo seleccionas el Framework en la parte superior derecha y listo!! Algo interesante tambien es que en la solucion de VS 2008 puedes tener Frameworks de diferentes versiones, por ejemplo el Servicio en 2.0 y el cliente en 3.5, esto claro te da una flexibilidad impresionante...&lt;br /&gt;&lt;br /&gt;Y para quienes trabajan con Team System?? Esa si era una pregunta de examen!! Pues yo tambien tengo mi ambiente Team System 2005, con Team Foundation Server 2005 y todas las de ley, se puede usar el Team Foundation Server con Visual Studio 2008?? Pues me dijeron que si cuando pregunte a uno de los expertos en el tema, claro ver para creer, asi es que baje el cliente de Team Foundation 2008, llamado Team Explorer 2008 lo encuentran en &lt;a href="http://download.microsoft.com/"&gt;http://download.microsoft.com&lt;/a&gt;, y lo instale a mi Visual Studio Team System 2008, demoro un poco mi instalacion pero de verdad valio la pena!!&lt;br /&gt;&lt;br /&gt;Me pude conectar a mi Team Foundation Server 2005 sin problemas, pude ver los documentos normalmente y todo, pero aqui entra lo interesante: Recuerdan ustedes que en Sharepoint Services 2.0 no se registraban correctamente los documentos Office 2007, es decir un docx sale sin icono y si lo quieres editar te baja el archivo como cualquier cosa, bien con el Team Explorer 2008 resulta que si ves el documento desde Visual Studio en el Tab del Team Explorer lo ves como un documento Office!! Al fin!! No me hace falta hacer la maroma que hay que hacer para cambiar TFS 2005 a Sharepoint Services 3.0!!! Eso si que es un alivio, y ademas me permite editarlos!!! Felicidad completa!! Esto incluye poder usar Project 2007 y que se aten los Workitems a tu TFS como se debe!!&lt;br /&gt;&lt;br /&gt;De verdad estoy muy feliz por esto, uno puede usar tranquilamente las nuevas versiones sin temor a perder su trabajo ni tener regresiones!! Wow y gracias a los equipos de desarrollo de VS y TFS por acordarse y tomar en cuenta las sugerencias de los usuarios sobre el tema de compatibilidad hacia atras!!&lt;br /&gt;&lt;br /&gt;En resumen lo que soporta Visual Studio 2008 Team System en el tema compatibilidad hacia atras es:&lt;br /&gt;&lt;br /&gt;- Multitarget (Frameworks 2.0, 3.0 y 3.5)&lt;br /&gt;- Soporte para proyectos de varios Frameworks en una solucion&lt;br /&gt;&lt;br /&gt;Team Explorer 2008:&lt;br /&gt;&lt;br /&gt;- Compatibilidad con Tema Foundation Server 2005&lt;br /&gt;- Compatibilidad con Office 2007 para editar documentos&lt;br /&gt;- Plugins para Office 2007 de Integracion (Administracion de WorkItems)&lt;br /&gt;&lt;br /&gt;Pues entonces si quieren probar no tengan miedo, haganlo con confianza!!!&lt;br /&gt;&lt;br /&gt;P.d.: Ademas mi ambiente de desarrollo es Windows Vista Business, tengo tambien Visual Studio 2005 Team System y Team Explorer 2005, no me trae conflictos para nada!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33901941-2469669571600618749?l=fcolomas.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5hjVOv8JBRpabKyPkTjBc90MJLQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5hjVOv8JBRpabKyPkTjBc90MJLQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5hjVOv8JBRpabKyPkTjBc90MJLQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5hjVOv8JBRpabKyPkTjBc90MJLQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/tOJR/~4/YIygD8cvrys" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://fcolomas.blogspot.com/feeds/2469669571600618749/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33901941&amp;postID=2469669571600618749" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/2469669571600618749?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33901941/posts/default/2469669571600618749?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/tOJR/~3/YIygD8cvrys/visual-studio-team-system-2008-mis.html" title="Visual Studio Team System 2008: Mis experimentos y experiencias" /><author><name>Fco Lomas</name><uri>http://www.blogger.com/profile/04979454140169629042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://fcolomas.blogspot.com/2008/04/visual-studio-team-system-2008-mis.html</feedburner:origLink></entry></feed>

