<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>byteabyte.net - .NET Compact Framework</title>
    <link>http://www.byteabyte.net/</link>
    <description />
    <language>en-us</language>
    <copyright>Alejandro Mezcua</copyright>
    <lastBuildDate>Wed, 12 Nov 2008 09:05:50 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>alejandro.mezcua@byteabyte.net</managingEditor>
    <webMaster>alejandro.mezcua@byteabyte.net</webMaster>
    <item>
      <trackback:ping>http://www.byteabyte.net/Trackback.aspx?guid=8ec0753a-2ed6-433f-b2dc-198728bc68a2</trackback:ping>
      <pingback:server>http://www.byteabyte.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.byteabyte.net/PermaLink,guid,8ec0753a-2ed6-433f-b2dc-198728bc68a2.aspx</pingback:target>
      <dc:creator>Alejandro Mezcua</dc:creator>
      <wfw:comment>http://www.byteabyte.net/CommentView,guid,8ec0753a-2ed6-433f-b2dc-198728bc68a2.aspx</wfw:comment>
      <wfw:commentRss>http://www.byteabyte.net/SyndicationService.asmx/GetEntryCommentsRss?guid=8ec0753a-2ed6-433f-b2dc-198728bc68a2</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://blogs.msdn.com/windowsmobile/archive/2008/11/11/internet-explorer-mobile-6.aspx" target="_blank">Ya
es oficial</a>. Desde hace un tiempo se vienen oyendo rumores de que se estaba desarrollando
un nuevo navegador para Windows Mobile; ayer se anunció en el TechEd en Barcelona.
</p>
        <p>
El nuevo navegador se llama "Internet Eexplorer Mobile 6" y estará
disponible en los nuevos dispositivos que vayan saliendo a la venta (según los
fabricantes vayan actualizando la plataforma). Desgraciadamente no se puede descargar
e instalar sin más, como nos gustaría que pasase a muchos.
</p>
        <p>
Como novedades a destacar, han sustituido completamente el núcleo de la aplicación
y es capaz de "pintar" las páginas de forma completa, con capacidad
de zoom y de desplazamiento con el dedo. Se ha incluido JScript 5.7 (heredado de IE
8) y dispone de Adobe Flash Lite 3.1 (toma ya iPhone!! ;-)) para poder ver clips de
Flash incrustados en las páginas.
</p>
        <p>
Aunque que yo sepa todavía no hay terminales con esta versión cargados, <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=1A7A6B52-F89E-4354-84CE-5D19C204498A&amp;displaylang=en" target="_blank">ya
están disponibles los emuladores</a> para probarlo.
</p>
        <p>
Yo por mi parte quiero probar cómo funciona, o si es del todo posible que funcione,
alojado en una aplicación .NET Compact Framework...
</p>
        <img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=8ec0753a-2ed6-433f-b2dc-198728bc68a2" />
      </body>
      <title>IEMobile 6</title>
      <guid isPermaLink="false">http://www.byteabyte.net/PermaLink,guid,8ec0753a-2ed6-433f-b2dc-198728bc68a2.aspx</guid>
      <link>http://www.byteabyte.net/2008/11/12/IEMobile6.aspx</link>
      <pubDate>Wed, 12 Nov 2008 09:05:50 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://blogs.msdn.com/windowsmobile/archive/2008/11/11/internet-explorer-mobile-6.aspx" target="_blank"&gt;Ya
es oficial&lt;/a&gt;. Desde hace un tiempo se vienen oyendo rumores de que se estaba desarrollando
un nuevo navegador para Windows Mobile; ayer se anunci&amp;#243; en el TechEd en Barcelona.
&lt;/p&gt;
&lt;p&gt;
El nuevo navegador se llama &amp;quot;Internet Eexplorer Mobile 6&amp;quot; y estar&amp;#225;
disponible en los nuevos dispositivos que vayan saliendo a la venta (seg&amp;#250;n los
fabricantes vayan actualizando la plataforma). Desgraciadamente no se puede descargar
e instalar sin m&amp;#225;s, como nos gustar&amp;#237;a que pasase a muchos.
&lt;/p&gt;
&lt;p&gt;
Como novedades a destacar, han sustituido completamente el n&amp;#250;cleo de la aplicaci&amp;#243;n
y es capaz de &amp;quot;pintar&amp;quot; las p&amp;#225;ginas de forma completa, con capacidad
de zoom y de desplazamiento con el dedo. Se ha incluido JScript 5.7 (heredado de IE
8) y dispone de Adobe Flash Lite 3.1 (toma ya iPhone!! ;-)) para poder ver clips de
Flash incrustados en las p&amp;#225;ginas.
&lt;/p&gt;
&lt;p&gt;
Aunque que yo sepa todav&amp;#237;a no hay terminales con esta versi&amp;#243;n cargados, &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=1A7A6B52-F89E-4354-84CE-5D19C204498A&amp;amp;displaylang=en" target="_blank"&gt;ya
est&amp;#225;n disponibles los emuladores&lt;/a&gt; para probarlo.
&lt;/p&gt;
&lt;p&gt;
Yo por mi parte quiero probar c&amp;#243;mo funciona, o si es del todo posible que funcione,
alojado en una aplicaci&amp;#243;n .NET Compact Framework...
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=8ec0753a-2ed6-433f-b2dc-198728bc68a2" /&gt;</description>
      <comments>http://www.byteabyte.net/CommentView,guid,8ec0753a-2ed6-433f-b2dc-198728bc68a2.aspx</comments>
      <category>.NET Compact Framework</category>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://www.byteabyte.net/Trackback.aspx?guid=e49b69a9-ced2-4840-a8af-95c45338a70a</trackback:ping>
      <pingback:server>http://www.byteabyte.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.byteabyte.net/PermaLink,guid,e49b69a9-ced2-4840-a8af-95c45338a70a.aspx</pingback:target>
      <dc:creator>Alejandro Mezcua</dc:creator>
      <wfw:comment>http://www.byteabyte.net/CommentView,guid,e49b69a9-ced2-4840-a8af-95c45338a70a.aspx</wfw:comment>
      <wfw:commentRss>http://www.byteabyte.net/SyndicationService.asmx/GetEntryCommentsRss?guid=e49b69a9-ced2-4840-a8af-95c45338a70a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://blogs.msdn.com/priozersk/archive/2008/11/11/mobile-mvc-on-codeplex.aspx" target="_blank">Alex
Yakhnin</a> (antiguo MVP, ahora consultor en Microsoft) acaba de <a href="http://www.codeplex.com/MobileMVC" target="_blank">publicar
en CodePlex</a> un modelo de patrón MVC para aplicaciones .NET Compact Framework.
Lleva bastante tiempo con el tema, escribiendo sobre ello y refinando el código.
Yo la última versión publicada aún no la he probado, pero los ejemplos
anteriores si y tienen buena pinta...
</p>
        <img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=e49b69a9-ced2-4840-a8af-95c45338a70a" />
      </body>
      <title>Mobile MVC en CodePlex</title>
      <guid isPermaLink="false">http://www.byteabyte.net/PermaLink,guid,e49b69a9-ced2-4840-a8af-95c45338a70a.aspx</guid>
      <link>http://www.byteabyte.net/2008/11/11/MobileMVCEnCodePlex.aspx</link>
      <pubDate>Tue, 11 Nov 2008 09:10:58 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://blogs.msdn.com/priozersk/archive/2008/11/11/mobile-mvc-on-codeplex.aspx" target="_blank"&gt;Alex
Yakhnin&lt;/a&gt; (antiguo MVP, ahora consultor en Microsoft) acaba de &lt;a href="http://www.codeplex.com/MobileMVC" target="_blank"&gt;publicar
en CodePlex&lt;/a&gt; un modelo de patr&amp;#243;n MVC para aplicaciones .NET Compact Framework.
Lleva bastante tiempo con el tema, escribiendo sobre ello y refinando el c&amp;#243;digo.
Yo la &amp;#250;ltima versi&amp;#243;n publicada a&amp;#250;n no la he probado, pero los ejemplos
anteriores si y tienen buena pinta...
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=e49b69a9-ced2-4840-a8af-95c45338a70a" /&gt;</description>
      <comments>http://www.byteabyte.net/CommentView,guid,e49b69a9-ced2-4840-a8af-95c45338a70a.aspx</comments>
      <category>.NET Compact Framework</category>
    </item>
    <item>
      <trackback:ping>http://www.byteabyte.net/Trackback.aspx?guid=68b6bb3a-6465-43d2-aa9d-60931c4d2dd2</trackback:ping>
      <pingback:server>http://www.byteabyte.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.byteabyte.net/PermaLink,guid,68b6bb3a-6465-43d2-aa9d-60931c4d2dd2.aspx</pingback:target>
      <dc:creator>Alejandro Mezcua</dc:creator>
      <wfw:comment>http://www.byteabyte.net/CommentView,guid,68b6bb3a-6465-43d2-aa9d-60931c4d2dd2.aspx</wfw:comment>
      <wfw:commentRss>http://www.byteabyte.net/SyndicationService.asmx/GetEntryCommentsRss?guid=68b6bb3a-6465-43d2-aa9d-60931c4d2dd2</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Si has programado algún cliente WCF en .NET Compact Framework, habrás visto
que, por el momento, el único binding admitido es el básico (basicHttpBinding)
con lo que se están tratando esencialmente servicios Web.
</p>
        <p>
Para usarlos desde .NET Compact Framework lo habitual es crear una clase proxy que
facilite el acceso al servicio. Para ello se utiliza la herramienta "netcfsvcutil.exe"
que funciona de manera similar a la utilidad de "Agregar referencia web"
de Visual Studio. Se apunta la herramienta al WSDL del servicio y ésta genera
el código necesario para utilizarlo.
</p>
        <p>
En este caso, "netcfsvcutil" generará dos ficheros que hay que incluir
en los proyectos. Uno llamado CFClientBase y otro con el nombre del servicio, que
será la clase proxy a usar y que a su vez hereda de CFClientBase.
</p>
        <p>
Al usarlos en el código, habrá que crear una instancia de la clase generada
como proxy que incorpora todas las operaciones disponibles en el servicio que serán
los métodos marcados en el servicio WCF como "OperationContract" y
los datos exportados, marcados como "DataContract".
</p>
        <p>
Su uso final es muy simple ya que sólo hay que crear un objeto del tipo del proxy
y llamar a la función generada correspondiente, pero de tan sencillo que es,
se oculta mucha funcionalidad que puede ser necesaria en algún momento y no está
accesible.
</p>
        <p>
En un caso reciente quise obtener la cabecera "Date" de la respuesta HTTP
del servicio WCF, pero esta información no está presente en el proxy en
ningún sitio. Después de indagar bastante di con la solución. En la
clase <strong>CFClientBase</strong> generada hay un método llamado "<strong>getReply</strong>".
Este método devuelve un objeto de tipo <strong>System.ServiceModel.Channels.Message</strong>,
que contiene el mensaje devuelto por el servicio WCF. Este mensaje a su vez incluye
una colección llamada "<strong>Properties</strong>". Dentro de estas
propiedades hay una llamada "<strong>httpResponse</strong>" (accesible como
message.Properties["httpResponse"]) que es de tipo HttpResponseMessageProperty.
Una vez ahí se dispone de toda la respuesta http y, en concreto, están accesibles
las cabeceras HTTP como una colección llamada "<strong>Headers</strong>".
</p>
        <p>
En mi caso, modifiqué la clase CFClientBase para exponer el mensaje de respuesta
como una propiedad y tenerlo accesible así desde mi código de una forma
cómoda. Hay que recordar que si se vuelve a generar el proxy mediante netcfsvcutil
se perderán esos cambios y habrá que volver a incorporarlos.
</p>
        <p>
Mi código final para acceder a la fecha de la respuesta HTTP queda algo así
(una vez he expuesto la propiedad ReplyMessage en el proxy y sin control de errores):
</p>
        <div class="csharpcode">
          <pre class="alt">
            <span class="kwrd">string</span> fechaHeader = </pre>
          <pre> ((HttpResponseMessageProperty)</pre>
          <pre class="alt"> proxy.ReplyMessage.Properties[<span class="str">"httpResponse"</span>]).Headers[<span class="str">"Date"</span>];</pre>
          <pre> </pre>
          <pre class="alt">DateTime fecha = DateTime.Parse(fechaHeader);</pre>
        </div>
        <style type="text/css">

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
        <p>
 
</p>
        <p>
El problema que le veo a todo esto es que la respuesta Http venga como una propiedad
indexada de esa forma, lo que no me da mucha confianza en que esta funcionalidad se
pueda perder en futuras versiones de .NET Compact Framework, ya veremos...
</p>
        <img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=68b6bb3a-6465-43d2-aa9d-60931c4d2dd2" />
      </body>
      <title>C&amp;oacute;mo acceder a las cabeceras de HTTP de la respuesta de un servicio WCF en .NET Compact Framework</title>
      <guid isPermaLink="false">http://www.byteabyte.net/PermaLink,guid,68b6bb3a-6465-43d2-aa9d-60931c4d2dd2.aspx</guid>
      <link>http://www.byteabyte.net/2008/07/17/CoacutemoAccederALasCabecerasDeHTTPDeLaRespuestaDeUnServicioWCFEnNETCompactFramework.aspx</link>
      <pubDate>Thu, 17 Jul 2008 10:43:15 GMT</pubDate>
      <description>&lt;p&gt;
Si has programado alg&amp;#250;n cliente WCF en .NET Compact Framework, habr&amp;#225;s visto
que, por el momento, el &amp;#250;nico binding admitido es el b&amp;#225;sico (basicHttpBinding)
con lo que se est&amp;#225;n tratando esencialmente servicios Web.
&lt;/p&gt;
&lt;p&gt;
Para usarlos desde .NET Compact Framework lo habitual es crear una clase proxy que
facilite el acceso al servicio. Para ello se utiliza la herramienta &amp;quot;netcfsvcutil.exe&amp;quot;
que funciona de manera similar a la utilidad de &amp;quot;Agregar referencia web&amp;quot;
de Visual Studio. Se apunta la herramienta al WSDL del servicio y &amp;#233;sta genera
el c&amp;#243;digo necesario para utilizarlo.
&lt;/p&gt;
&lt;p&gt;
En este caso, &amp;quot;netcfsvcutil&amp;quot; generar&amp;#225; dos ficheros que hay que incluir
en los proyectos. Uno llamado CFClientBase y otro con el nombre del servicio, que
ser&amp;#225; la clase proxy a usar y que a su vez hereda de CFClientBase.
&lt;/p&gt;
&lt;p&gt;
Al usarlos en el c&amp;#243;digo, habr&amp;#225; que crear una instancia de la clase generada
como proxy que incorpora todas las operaciones disponibles en el servicio que ser&amp;#225;n
los m&amp;#233;todos marcados en el servicio WCF como &amp;quot;OperationContract&amp;quot; y
los datos exportados, marcados como &amp;quot;DataContract&amp;quot;.
&lt;/p&gt;
&lt;p&gt;
Su uso final es muy simple ya que s&amp;#243;lo hay que crear un objeto del tipo del proxy
y llamar a la funci&amp;#243;n generada correspondiente, pero de tan sencillo que es,
se oculta mucha funcionalidad que puede ser necesaria en alg&amp;#250;n momento y no est&amp;#225;
accesible.
&lt;/p&gt;
&lt;p&gt;
En un caso reciente quise obtener la cabecera &amp;quot;Date&amp;quot; de la respuesta HTTP
del servicio WCF, pero esta informaci&amp;#243;n no est&amp;#225; presente en el proxy en
ning&amp;#250;n sitio. Despu&amp;#233;s de indagar bastante di con la soluci&amp;#243;n. En la
clase &lt;strong&gt;CFClientBase&lt;/strong&gt; generada hay un m&amp;#233;todo llamado &amp;quot;&lt;strong&gt;getReply&lt;/strong&gt;&amp;quot;.
Este m&amp;#233;todo devuelve un objeto de tipo &lt;strong&gt;System.ServiceModel.Channels.Message&lt;/strong&gt;,
que contiene el mensaje devuelto por el servicio WCF. Este mensaje a su vez incluye
una colecci&amp;#243;n llamada &amp;quot;&lt;strong&gt;Properties&lt;/strong&gt;&amp;quot;. Dentro de estas
propiedades hay una llamada &amp;quot;&lt;strong&gt;httpResponse&lt;/strong&gt;&amp;quot; (accesible como
message.Properties[&amp;quot;httpResponse&amp;quot;]) que es de tipo HttpResponseMessageProperty.
Una vez ah&amp;#237; se dispone de toda la respuesta http y, en concreto, est&amp;#225;n accesibles
las cabeceras HTTP como una colecci&amp;#243;n llamada &amp;quot;&lt;strong&gt;Headers&lt;/strong&gt;&amp;quot;.
&lt;/p&gt;
&lt;p&gt;
En mi caso, modifiqu&amp;#233; la clase CFClientBase para exponer el mensaje de respuesta
como una propiedad y tenerlo accesible as&amp;#237; desde mi c&amp;#243;digo de una forma
c&amp;#243;moda. Hay que recordar que si se vuelve a generar el proxy mediante netcfsvcutil
se perder&amp;#225;n esos cambios y habr&amp;#225; que volver a incorporarlos.
&lt;/p&gt;
&lt;p&gt;
Mi c&amp;#243;digo final para acceder a la fecha de la respuesta HTTP queda algo as&amp;#237;
(una vez he expuesto la propiedad ReplyMessage en el proxy y sin control de errores):
&lt;/p&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;string&lt;/span&gt; fechaHeader = &lt;/pre&gt;
&lt;pre&gt; ((HttpResponseMessageProperty)&lt;/pre&gt;
&lt;pre class="alt"&gt; proxy.ReplyMessage.Properties[&lt;span class="str"&gt;&amp;quot;httpResponse&amp;quot;&lt;/span&gt;]).Headers[&lt;span class="str"&gt;&amp;quot;Date&amp;quot;&lt;/span&gt;];&lt;/pre&gt;
&lt;pre&gt;&amp;#160;&lt;/pre&gt;
&lt;pre class="alt"&gt;DateTime fecha = DateTime.Parse(fechaHeader);&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
El problema que le veo a todo esto es que la respuesta Http venga como una propiedad
indexada de esa forma, lo que no me da mucha confianza en que esta funcionalidad se
pueda perder en futuras versiones de .NET Compact Framework, ya veremos...
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=68b6bb3a-6465-43d2-aa9d-60931c4d2dd2" /&gt;</description>
      <comments>http://www.byteabyte.net/CommentView,guid,68b6bb3a-6465-43d2-aa9d-60931c4d2dd2.aspx</comments>
      <category>.NET Compact Framework</category>
    </item>
    <item>
      <trackback:ping>http://www.byteabyte.net/Trackback.aspx?guid=cfebde38-bd63-440e-8cb0-6915ac9b3f2c</trackback:ping>
      <pingback:server>http://www.byteabyte.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.byteabyte.net/PermaLink,guid,cfebde38-bd63-440e-8cb0-6915ac9b3f2c.aspx</pingback:target>
      <dc:creator>Alejandro Mezcua</dc:creator>
      <wfw:comment>http://www.byteabyte.net/CommentView,guid,cfebde38-bd63-440e-8cb0-6915ac9b3f2c.aspx</wfw:comment>
      <wfw:commentRss>http://www.byteabyte.net/SyndicationService.asmx/GetEntryCommentsRss?guid=cfebde38-bd63-440e-8cb0-6915ac9b3f2c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Recientemente, trabajando con .NET Compact Framework 3.5 en un terminal en español,
al producirse una excepción en el código  me he encontrado con el siguiente
error:
</p>
        <p>
          <em>Hay un mensaje de error disponible para esta excepción, pero no se puede
mostrar porque estos mensajes son opcionales y no están instalados en este dispositivo.
Instale ‘NETCFv35.Messages.ES.wm.cab’ para Windows Mobile 5.0 y posterior,
o  ‘NETCFv35.Messages.ES.cab’ para otras plataformas. Reinicie la
aplicación para ver el mensaje.</em>
        </p>
        <p>
El mensaje parece claro, faltan las Dll's de mensajes de error que están en los
cabs indicados, con lo que parece que si instalación debería solucionarlo; <strong>pero
la instalación de cualquiera de esos cabs no lo soluciona</strong>, siguiendo
el error y la imposibilidad de saber rápidamente la razón de ser de la excepción.
</p>
        <p>
Después de darme un par de veces (o tres) con la cabeza en el monitor <a href="http://blogs.msdn.com/martijnh/archive/2008/01/03/fixing-exception-messages-on-the-net-compact-framework-3-5.aspx" target="_blank">encontré
la solución</a> buscando en Google el nombre del archivo .cab pero en su versión
en inglés (NETCFv35.Messages.EN.wm.cab). Por mucho que se instale el cab no se
va a solucionar el problema, pero si se descomprime el cab en cualquier sitio del
PC, se toma el archivo <strong>'SYCCFA~1.001'</strong> y se renombra a <strong>'System.SR.dll'</strong> y
luego en el proyecto en el que se esté trabajando se hace una referencia a esta
dll, los mensajes de ayuda de la excepción volverán a aparecer correctamente.
</p>
        <p>
Espero que os sea útil.
</p>
        <img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=cfebde38-bd63-440e-8cb0-6915ac9b3f2c" />
      </body>
      <title>Dll de mensajes de error de .NET Compact Framework 3.5</title>
      <guid isPermaLink="false">http://www.byteabyte.net/PermaLink,guid,cfebde38-bd63-440e-8cb0-6915ac9b3f2c.aspx</guid>
      <link>http://www.byteabyte.net/2008/06/04/DllDeMensajesDeErrorDeNETCompactFramework35.aspx</link>
      <pubDate>Wed, 04 Jun 2008 17:32:38 GMT</pubDate>
      <description>&lt;p&gt;
Recientemente, trabajando con .NET Compact Framework 3.5 en un terminal en espa&amp;#241;ol,
al producirse una excepci&amp;#243;n en el c&amp;#243;digo&amp;#160; me he encontrado con el siguiente
error:
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Hay un mensaje de error disponible para esta excepci&amp;#243;n, pero no se puede
mostrar porque estos mensajes son opcionales y no est&amp;#225;n instalados en este dispositivo.
Instale &amp;#8216;NETCFv35.Messages.ES.wm.cab&amp;#8217; para Windows Mobile 5.0 y posterior,
o&amp;#160; &amp;#8216;NETCFv35.Messages.ES.cab&amp;#8217; para otras plataformas. Reinicie la
aplicaci&amp;#243;n para ver el mensaje.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
El mensaje parece claro, faltan las Dll's de mensajes de error que est&amp;#225;n en los
cabs indicados, con lo que parece que si instalaci&amp;#243;n deber&amp;#237;a solucionarlo; &lt;strong&gt;pero
la instalaci&amp;#243;n de cualquiera de esos cabs no lo soluciona&lt;/strong&gt;, siguiendo
el error y la imposibilidad de saber r&amp;#225;pidamente la raz&amp;#243;n de ser de la excepci&amp;#243;n.
&lt;/p&gt;
&lt;p&gt;
Despu&amp;#233;s de darme un par de veces (o tres) con la cabeza en el monitor &lt;a href="http://blogs.msdn.com/martijnh/archive/2008/01/03/fixing-exception-messages-on-the-net-compact-framework-3-5.aspx" target="_blank"&gt;encontr&amp;#233;
la soluci&amp;#243;n&lt;/a&gt; buscando en Google el nombre del archivo .cab pero en su versi&amp;#243;n
en ingl&amp;#233;s (NETCFv35.Messages.EN.wm.cab). Por mucho que se instale el cab no se
va a solucionar el problema, pero si se descomprime el cab en cualquier sitio del
PC, se toma el archivo &lt;strong&gt;'SYCCFA~1.001'&lt;/strong&gt; y se renombra a &lt;strong&gt;'System.SR.dll'&lt;/strong&gt; y
luego en el proyecto en el que se est&amp;#233; trabajando se hace una referencia a esta
dll, los mensajes de ayuda de la excepci&amp;#243;n volver&amp;#225;n a aparecer correctamente.
&lt;/p&gt;
&lt;p&gt;
Espero que os sea &amp;#250;til.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=cfebde38-bd63-440e-8cb0-6915ac9b3f2c" /&gt;</description>
      <comments>http://www.byteabyte.net/CommentView,guid,cfebde38-bd63-440e-8cb0-6915ac9b3f2c.aspx</comments>
      <category>.NET Compact Framework</category>
    </item>
    <item>
      <trackback:ping>http://www.byteabyte.net/Trackback.aspx?guid=0540de4c-65bd-45b5-afaf-e26558272d0a</trackback:ping>
      <pingback:server>http://www.byteabyte.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.byteabyte.net/PermaLink,guid,0540de4c-65bd-45b5-afaf-e26558272d0a.aspx</pingback:target>
      <dc:creator>Alejandro Mezcua</dc:creator>
      <wfw:comment>http://www.byteabyte.net/CommentView,guid,0540de4c-65bd-45b5-afaf-e26558272d0a.aspx</wfw:comment>
      <wfw:commentRss>http://www.byteabyte.net/SyndicationService.asmx/GetEntryCommentsRss?guid=0540de4c-65bd-45b5-afaf-e26558272d0a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Al igual que <a href="http://www.byteabyte.net/2008/02/28/WCFYNETCompactFramework35EjemploDeQuotLugaresVisitadosquotDelEventoTechDays.aspx" target="_blank">el
ejemplo anterior</a>, ya están disponibles tanto <a href="http://www.byteabyte.net/content/binary/wcfexchangeppt.zip" target="_blank">la
presentación (en formato de Office 2007)</a> como <a href="http://www.byteabyte.net/content/binary/wcfexchangesample.zip" target="_blank">la
aplicación de ejemplo "eLoc" (proyectos de Visual Studio 2008)</a> de
la sesión impartida en el evento de Microsoft TechDays del martes pasado (26
de Febrero).
</p>
        <p>
Este ejemplo muestra el uso del transporte <a href="http://www.byteabyte.net/2007/08/21/CaracteriacutesticasDeWCFIncluidasEnNETCompactFramework35.aspx" target="_blank">WCF
basado en Microsft Exchange 2007 tanto en un entorno de PC con .NET Framework 3.5
como en un entorno de Windows Mobile</a>, con .NET Compact Framework 3.5.
</p>
        <p>
Para aquellos que quieran probar los ejemplos, van a necesitar lo siguiente:
</p>
        <ul>
          <li>
            <font face="Segoe UI">Un servidor Exchange 2007 (si es SP1 mejor)</font>
          </li>
          <li>
            <font face="Segoe UI">Dos buzones creados, uno de ellos con acceso por ActiveSync</font>
          </li>
          <li>
            <font face="Segoe UI">Un terminal Windows Mobile (o emulador) con uno de los buzones
anteriores configurado para su sincronización mediante ActiveSync</font>
          </li>
          <li>
            <font face="Segoe UI">Un PC en el que configurar la aplicación Windows Forms
con acceso al servidor Exchange.</font>
          </li>
          <li>
            <font face="Segoe UI">Un certificado para SSL de comunicación con el servidor
Exchange</font>
          </li>
          <li>
            <font face="Segoe UI">Configurar tanto el PC como el terminal Windows Mobile para
que acepten el certificado raiz del certificado SSL. Si es un certificado comprado
a Verisign o alguna entidad similar no será necesario hacer nada. Si es un certificado
propio, el certificado raíz deberá estar configurado en el store de "Trusted
Roots" del PC y del dispositivo Windows Mobile.</font>
          </li>
          <li>
            <font face="Segoe UI">Un dispositivo GPS/GSM si se quiere probar la funcionalidad
en vivo. Si no, este dispositivo no es necesario y se puede probar WCF para Exchange
simulando el mensaje de respuesta.</font>
          </li>
        </ul>
        <p>
 
</p>
        <p>
El escenario presentado por el ejemplo es el de poder localizar a un terminal GPS
remoto (con capacidad de GSM) mediante un mensaje SMS (útil por ejemplo en el
caso de un equipo de personas que trabajen en un servicio de emergencias). La solicitud
de localización se puede enviar tanto desde la aplicación de la 'central'
como desde el terminal Windows Mobile. El terminal GPS, una vez recibido el SMS, devuelve
otro SMS al dispositivo Windows Mobile, quien, a su vez, envía un mensaje WCF
mediante Exchange a la aplicación de la 'central', que mostrará la localización
del terminal GPS en un mapa de Virtual Earth.
</p>
        <p>
Existen diversos terminales de GPS/GSM en el mercado de forma que en el código
no se ha incluido ningun mensaje específico para ninguno de ellos. Si el lector
cuenta con uno de esos terminales tendrá que establecer el texto del SMS a enviar
en la clase Localizador y configurar el código del MessageInterceptor en el formulario
principal de la aplicación Windows Mobile para capturar los mensajes SMS recibidos.
</p>
        <p>
Como no es común que se disponga de estos terminales, se puede probar la funcionalidad
en la aplicación de Windows Mobile sin necesidad de tener uno de ellos ya que
ésta dispone de un botón que pemite enviar una respuesta simulada.
</p>
        <p>
Una vez configurado esto, la solución Visual Studio 2008 cuenta con tres proyectos:
</p>
        <ul>
          <li>
Un proyecto Web que dispone de dos páginas, una con un mensaje de espera y otra
que muestra en un mapa la localización de un GPS encontrado. Esta aplicación
Web se usará integrada en el cliente de la 'central'.</li>
          <li>
Un proyecto .NET Compact Framework 3.5 que envía y recibe mensajes WCF mediante
la conexión de ActiveSync.</li>
          <li>
Un proyecto .NET Framework 3.5 que envía y recibe mensajes WCF mediante los servicios
Web de Exchange 2007.</li>
        </ul>
        <p>
 
</p>
        <p>
Para terminar de configurar el código, el lector deberá modificar los parámetros
de cuentas de correo, usuarios y contraseñas y números de teléfono
(si se va a usar el GPS real) en el código para adecuarlos a su entorno. Los
parámetros son cadenas de texto encontradas en las clases 'MainForm' de cada
uno de los proyectos.
</p>
        <p>
Gracias a todos los asistentes su participación y espero que los ejemplos les
resultasen interesantes.
</p>
        <img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=0540de4c-65bd-45b5-afaf-e26558272d0a" />
      </body>
      <title>WCF y transporte basado en Exchange 2007. Ejemplo para PC y .NET Compact Framework 3.5 del evento TechDays</title>
      <guid isPermaLink="false">http://www.byteabyte.net/PermaLink,guid,0540de4c-65bd-45b5-afaf-e26558272d0a.aspx</guid>
      <link>http://www.byteabyte.net/2008/02/28/WCFYTransporteBasadoEnExchange2007EjemploParaPCYNETCompactFramework35DelEventoTechDays.aspx</link>
      <pubDate>Thu, 28 Feb 2008 17:57:13 GMT</pubDate>
      <description>&lt;p&gt;
Al igual que &lt;a href="http://www.byteabyte.net/2008/02/28/WCFYNETCompactFramework35EjemploDeQuotLugaresVisitadosquotDelEventoTechDays.aspx" target="_blank"&gt;el
ejemplo anterior&lt;/a&gt;, ya est&amp;#225;n disponibles tanto &lt;a href="http://www.byteabyte.net/content/binary/wcfexchangeppt.zip" target="_blank"&gt;la
presentaci&amp;#243;n (en formato de Office 2007)&lt;/a&gt; como &lt;a href="http://www.byteabyte.net/content/binary/wcfexchangesample.zip" target="_blank"&gt;la
aplicaci&amp;#243;n de ejemplo &amp;quot;eLoc&amp;quot; (proyectos de Visual Studio 2008)&lt;/a&gt; de
la sesi&amp;#243;n impartida en el evento de Microsoft TechDays del martes pasado (26
de Febrero).
&lt;/p&gt;
&lt;p&gt;
Este ejemplo muestra el uso del transporte &lt;a href="http://www.byteabyte.net/2007/08/21/CaracteriacutesticasDeWCFIncluidasEnNETCompactFramework35.aspx" target="_blank"&gt;WCF
basado en Microsft Exchange 2007 tanto en un entorno de PC con .NET Framework 3.5
como en un entorno de Windows Mobile&lt;/a&gt;, con .NET Compact Framework 3.5.
&lt;/p&gt;
&lt;p&gt;
Para aquellos que quieran probar los ejemplos, van a necesitar lo siguiente:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;font face="Segoe UI"&gt;Un servidor Exchange 2007 (si es SP1 mejor)&lt;/font&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;font face="Segoe UI"&gt;Dos buzones creados, uno de ellos con acceso por ActiveSync&lt;/font&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;font face="Segoe UI"&gt;Un terminal Windows Mobile (o emulador) con uno de los buzones
anteriores configurado para su sincronizaci&amp;#243;n mediante ActiveSync&lt;/font&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;font face="Segoe UI"&gt;Un PC en el que configurar la aplicaci&amp;#243;n Windows Forms
con acceso al servidor Exchange.&lt;/font&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;font face="Segoe UI"&gt;Un certificado para SSL de comunicaci&amp;#243;n con el servidor
Exchange&lt;/font&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;font face="Segoe UI"&gt;Configurar tanto el PC como el terminal Windows Mobile para
que acepten el certificado raiz del certificado SSL. Si es un certificado comprado
a Verisign o alguna entidad similar no ser&amp;#225; necesario hacer nada. Si es un certificado
propio, el certificado ra&amp;#237;z deber&amp;#225; estar configurado en el store de &amp;quot;Trusted
Roots&amp;quot; del PC y del dispositivo Windows Mobile.&lt;/font&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;font face="Segoe UI"&gt;Un dispositivo GPS/GSM si se quiere probar la funcionalidad
en vivo. Si no, este dispositivo no es necesario y se puede probar WCF para Exchange
simulando el mensaje de respuesta.&lt;/font&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
El escenario presentado por el ejemplo es el de poder localizar a un terminal GPS
remoto (con capacidad de GSM) mediante un mensaje SMS (&amp;#250;til por ejemplo en el
caso de un equipo de personas que trabajen en un servicio de emergencias). La solicitud
de localizaci&amp;#243;n se puede enviar tanto desde la aplicaci&amp;#243;n de la 'central'
como desde el terminal Windows Mobile. El terminal GPS, una vez recibido el SMS, devuelve
otro SMS al dispositivo Windows Mobile, quien, a su vez, env&amp;#237;a un mensaje WCF
mediante Exchange a la aplicaci&amp;#243;n de la 'central', que mostrar&amp;#225; la localizaci&amp;#243;n
del terminal GPS en un mapa de Virtual Earth.
&lt;/p&gt;
&lt;p&gt;
Existen diversos terminales de GPS/GSM en el mercado de forma que en el c&amp;#243;digo
no se ha incluido ningun mensaje espec&amp;#237;fico para ninguno de ellos. Si el lector
cuenta con uno de esos terminales tendr&amp;#225; que establecer el texto del SMS a enviar
en la clase Localizador y configurar el c&amp;#243;digo del MessageInterceptor en el formulario
principal de la aplicaci&amp;#243;n Windows Mobile para capturar los mensajes SMS recibidos.
&lt;/p&gt;
&lt;p&gt;
Como no es com&amp;#250;n que se disponga de estos terminales, se puede probar la funcionalidad
en la aplicaci&amp;#243;n de Windows Mobile sin necesidad de tener uno de ellos ya que
&amp;#233;sta dispone de un bot&amp;#243;n que pemite enviar una respuesta simulada.
&lt;/p&gt;
&lt;p&gt;
Una vez configurado esto, la soluci&amp;#243;n Visual Studio 2008 cuenta con tres proyectos:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Un proyecto Web que dispone de dos p&amp;#225;ginas, una con un mensaje de espera y otra
que muestra en un mapa la localizaci&amp;#243;n de un GPS encontrado. Esta aplicaci&amp;#243;n
Web se usar&amp;#225; integrada en el cliente de la 'central'.&lt;/li&gt;
&lt;li&gt;
Un proyecto .NET Compact Framework 3.5 que env&amp;#237;a y recibe mensajes WCF mediante
la conexi&amp;#243;n de ActiveSync.&lt;/li&gt;
&lt;li&gt;
Un proyecto .NET Framework 3.5 que env&amp;#237;a y recibe mensajes WCF mediante los servicios
Web de Exchange 2007.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
Para terminar de configurar el c&amp;#243;digo, el lector deber&amp;#225; modificar los par&amp;#225;metros
de cuentas de correo, usuarios y contrase&amp;#241;as y n&amp;#250;meros de tel&amp;#233;fono
(si se va a usar el GPS real) en el c&amp;#243;digo para adecuarlos a su entorno. Los
par&amp;#225;metros son cadenas de texto encontradas en las clases 'MainForm' de cada
uno de los proyectos.
&lt;/p&gt;
&lt;p&gt;
Gracias a todos los asistentes su participaci&amp;#243;n y espero que los ejemplos les
resultasen interesantes.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=0540de4c-65bd-45b5-afaf-e26558272d0a" /&gt;</description>
      <comments>http://www.byteabyte.net/CommentView,guid,0540de4c-65bd-45b5-afaf-e26558272d0a.aspx</comments>
      <category>.NET Compact Framework</category>
      <category>Eventos</category>
    </item>
    <item>
      <trackback:ping>http://www.byteabyte.net/Trackback.aspx?guid=4ddb4956-e802-44c8-8c47-85827fa0da92</trackback:ping>
      <pingback:server>http://www.byteabyte.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.byteabyte.net/PermaLink,guid,4ddb4956-e802-44c8-8c47-85827fa0da92.aspx</pingback:target>
      <dc:creator>Alejandro Mezcua</dc:creator>
      <wfw:comment>http://www.byteabyte.net/CommentView,guid,4ddb4956-e802-44c8-8c47-85827fa0da92.aspx</wfw:comment>
      <wfw:commentRss>http://www.byteabyte.net/SyndicationService.asmx/GetEntryCommentsRss?guid=4ddb4956-e802-44c8-8c47-85827fa0da92</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Ya están disponibles <a href="http://www.byteabyte.net/content/binary/lugaresvisitadosppt.zip" target="_blank">la
presentación (en formato de Office 2007)</a> y la <a href="http://www.byteabyte.net/content/binary/lugaresvisitadossample.zip" target="_blank">aplicación
de ejemplo "LugaresVisitados" (proyectos de Visual Studio 2008)</a> de la
sesión práctica impartida en el evento de Microsoft TechDays del martes
pasado (26 de Febrero).
</p>
        <p>
La solución de Visual Studio de ejemplo consta de dos proyectos, una aplicación
.NET Compact Framework 3.5 y una aplicación servidor basada en ASP.NET (con .NET
Framework 3.5)
</p>
        <p>
La aplicación cliente permite tomar una foto con la cámara de fotos de un
terminal Windows Mobile, añadirle unas notas y, si hay un GPS conectado, asociarle
a la foto unas coordenadas. Una vez tomada la foto y definidas las notas la aplicación,
ésta puede ser subida al servidor Web donde quedará almacenada. Para quellos
que se instalen el ejemplo, lo primero que han de hacer es modificar el archivo de
configuración "config.txt" (en formato XML) para establecer un nombre
de un puerto de serie correcto para el GPS y una URL válida de conexión
al servicio Web.
</p>
        <p>
La aplicación servidora es una aplicación ASP .NET que permite visualizar
las fotos, taanto en una lista como individualmente y, para aquellas fotos que tengan
asociadas coordenadas GPS, visualizarlas además en un mapa de Virtual Earth.
En esta aplicación hay dos servicios Web WCF definidos. El primero permite subir
las fotos al servidor (FotoUploader.svc) y el segundo permite obtener la lista de
fotos que tienen coordenadas GPS asociadas (FotosCoordenadas.svc). Este último
servicio existe para poder ser invocado desde JavaScript, desde la página que
tiene el mapa de Virtual Earth obteniendo los datos en formato JSON.
</p>
        <p>
Es conveniente revisar la presentación para ver qué parámetros de configuración
de los servicios WCF se han establecido en el archivo Web.Config de la aplicación
Web para configurar el sistema tal como funciona.
</p>
        <p>
Por otro lado, para poder crear aplicaciones cliente en .NET Compact Framework para
este tipo de servicios WCF, hay que recordar que es necesario instalarse los <a href="http://www.byteabyte.net/2007/09/13/PowerToysParaNETCompactFramework35.aspx" target="_blank">Power
Toys para .NET Compact Framework 3.5</a>, que incluyen, entre otras cosas, la utilidad
"netcfsvcutil.exe" que es la que permite la generación del proxy que
realiza la llamada al servicio Web.
</p>
        <p>
Quiro agradecer a todos los asistentes su participación y espero que los ejemplos
les resultasen interesantes.
</p>
        <img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=4ddb4956-e802-44c8-8c47-85827fa0da92" />
      </body>
      <title>WCF y .NET Compact Framework 3.5, ejemplo de &amp;quot;LugaresVisitados&amp;quot; del evento TechDays</title>
      <guid isPermaLink="false">http://www.byteabyte.net/PermaLink,guid,4ddb4956-e802-44c8-8c47-85827fa0da92.aspx</guid>
      <link>http://www.byteabyte.net/2008/02/28/WCFYNETCompactFramework35EjemploDeQuotLugaresVisitadosquotDelEventoTechDays.aspx</link>
      <pubDate>Thu, 28 Feb 2008 16:28:57 GMT</pubDate>
      <description>&lt;p&gt;
Ya est&amp;#225;n disponibles &lt;a href="http://www.byteabyte.net/content/binary/lugaresvisitadosppt.zip" target="_blank"&gt;la
presentaci&amp;#243;n (en formato de Office 2007)&lt;/a&gt; y la &lt;a href="http://www.byteabyte.net/content/binary/lugaresvisitadossample.zip" target="_blank"&gt;aplicaci&amp;#243;n
de ejemplo &amp;quot;LugaresVisitados&amp;quot; (proyectos de Visual Studio 2008)&lt;/a&gt; de la
sesi&amp;#243;n pr&amp;#225;ctica impartida en el evento de Microsoft TechDays del martes
pasado (26 de Febrero).
&lt;/p&gt;
&lt;p&gt;
La soluci&amp;#243;n de Visual Studio de ejemplo consta de dos proyectos, una aplicaci&amp;#243;n
.NET Compact Framework 3.5 y una aplicaci&amp;#243;n servidor basada en ASP.NET (con .NET
Framework 3.5)
&lt;/p&gt;
&lt;p&gt;
La aplicaci&amp;#243;n cliente permite tomar una foto con la c&amp;#225;mara de fotos de un
terminal Windows Mobile, a&amp;#241;adirle unas notas y, si hay un GPS conectado, asociarle
a la foto unas coordenadas. Una vez tomada la foto y definidas las notas la aplicaci&amp;#243;n,
&amp;#233;sta puede ser subida al servidor Web donde quedar&amp;#225; almacenada. Para quellos
que se instalen el ejemplo, lo primero que han de hacer es modificar el archivo de
configuraci&amp;#243;n &amp;quot;config.txt&amp;quot; (en formato XML) para establecer un nombre
de un puerto de serie correcto para el GPS y una URL v&amp;#225;lida de conexi&amp;#243;n
al servicio Web.
&lt;/p&gt;
&lt;p&gt;
La aplicaci&amp;#243;n servidora es una aplicaci&amp;#243;n ASP .NET que permite visualizar
las fotos, taanto en una lista como individualmente y, para aquellas fotos que tengan
asociadas coordenadas GPS, visualizarlas adem&amp;#225;s en un mapa de Virtual Earth.
En esta aplicaci&amp;#243;n hay dos servicios Web WCF definidos. El primero permite subir
las fotos al servidor (FotoUploader.svc) y el segundo permite obtener la lista de
fotos que tienen coordenadas GPS asociadas (FotosCoordenadas.svc). Este &amp;#250;ltimo
servicio existe para poder ser invocado desde JavaScript, desde la p&amp;#225;gina que
tiene el mapa de Virtual Earth obteniendo los datos en formato JSON.
&lt;/p&gt;
&lt;p&gt;
Es conveniente revisar la presentaci&amp;#243;n para ver qu&amp;#233; par&amp;#225;metros de configuraci&amp;#243;n
de los servicios WCF se han establecido en el archivo Web.Config de la aplicaci&amp;#243;n
Web para configurar el sistema tal como funciona.
&lt;/p&gt;
&lt;p&gt;
Por otro lado, para poder crear aplicaciones cliente en .NET Compact Framework para
este tipo de servicios WCF, hay que recordar que es necesario instalarse los &lt;a href="http://www.byteabyte.net/2007/09/13/PowerToysParaNETCompactFramework35.aspx" target="_blank"&gt;Power
Toys para .NET Compact Framework 3.5&lt;/a&gt;, que incluyen, entre otras cosas, la utilidad
&amp;quot;netcfsvcutil.exe&amp;quot; que es la que permite la generaci&amp;#243;n del proxy que
realiza la llamada al servicio Web.
&lt;/p&gt;
&lt;p&gt;
Quiro agradecer a todos los asistentes su participaci&amp;#243;n y espero que los ejemplos
les resultasen interesantes.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=4ddb4956-e802-44c8-8c47-85827fa0da92" /&gt;</description>
      <comments>http://www.byteabyte.net/CommentView,guid,4ddb4956-e802-44c8-8c47-85827fa0da92.aspx</comments>
      <category>.NET Compact Framework</category>
      <category>Eventos</category>
    </item>
    <item>
      <trackback:ping>http://www.byteabyte.net/Trackback.aspx?guid=9957c712-eedb-46f9-a23e-a33de7f193c5</trackback:ping>
      <pingback:server>http://www.byteabyte.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.byteabyte.net/PermaLink,guid,9957c712-eedb-46f9-a23e-a33de7f193c5.aspx</pingback:target>
      <dc:creator>Alejandro Mezcua</dc:creator>
      <wfw:comment>http://www.byteabyte.net/CommentView,guid,9957c712-eedb-46f9-a23e-a33de7f193c5.aspx</wfw:comment>
      <wfw:commentRss>http://www.byteabyte.net/SyndicationService.asmx/GetEntryCommentsRss?guid=9957c712-eedb-46f9-a23e-a33de7f193c5</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Desde hace tiempo existe una herramienta en .NET Framework llamada CLR Profiler que
permite examinar el heap de memoria del recolector de basura de .NET de una forma
gráfica con el objetivo de ayudar en la búsqueda de problemas relacionados
con el uso de memoria en las aplicaciones.
</p>
        <p>
          <a href="http://geeks.ms/blogs/unai/" target="_blank">Unai</a> y yo enseñamos
el uso de la herramienta en el último Code Camp en Huelva, entre otas cosas.
</p>
        <p>
Esta utilidad se ha portado a .NET Compact Framework con la llegada de la nueva versión
y está disponible como un <a href="http://geeks.ms/blogs/amezcua/archive/2007/09/13/power-toys-para-net-compact-framework-3-5.aspx" target="_blank">Power
Toy junto con otras herramientas</a>.
</p>
        <p>
Steven Pratschner acaba de publicar <a href="http://blogs.msdn.com/stevenpr/archive/2007/10/17/the-clrprofiler-for-the-net-compact-framework-part-1-getting-started.aspx" target="_blank">el
primero de una serie de artículos</a> dedicados a explicar con detalle el funcionamiento
de la herramienta utilizando una aplicación de ejemplo como guía.
</p>
        <p>
Si sospechas que tienes algún problema de consumo de memoria en tu aplicación
.NET te recomiendo que leas estos artículos que te ayudarán a intentar localizar
dónde está la causa.
</p>
        <img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=9957c712-eedb-46f9-a23e-a33de7f193c5" />
      </body>
      <title>Introducci&amp;oacute;n al CLR Profiler de .NET Compact Framework</title>
      <guid isPermaLink="false">http://www.byteabyte.net/PermaLink,guid,9957c712-eedb-46f9-a23e-a33de7f193c5.aspx</guid>
      <link>http://www.byteabyte.net/2007/10/18/IntroduccioacutenAlCLRProfilerDeNETCompactFramework.aspx</link>
      <pubDate>Thu, 18 Oct 2007 12:41:01 GMT</pubDate>
      <description>&lt;p&gt;
Desde hace tiempo existe una herramienta en .NET Framework llamada CLR Profiler que
permite examinar el heap de memoria del recolector de basura de .NET de una forma
gr&amp;#225;fica con el objetivo de ayudar en la b&amp;#250;squeda de problemas relacionados
con el uso de memoria en las aplicaciones.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://geeks.ms/blogs/unai/" target="_blank"&gt;Unai&lt;/a&gt; y yo ense&amp;#241;amos
el uso de la herramienta en el &amp;#250;ltimo Code Camp en Huelva, entre otas cosas.
&lt;/p&gt;
&lt;p&gt;
Esta utilidad se ha portado a .NET Compact Framework con la llegada de la nueva versi&amp;#243;n
y est&amp;#225; disponible como un &lt;a href="http://geeks.ms/blogs/amezcua/archive/2007/09/13/power-toys-para-net-compact-framework-3-5.aspx" target="_blank"&gt;Power
Toy junto con otras herramientas&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Steven Pratschner acaba de publicar &lt;a href="http://blogs.msdn.com/stevenpr/archive/2007/10/17/the-clrprofiler-for-the-net-compact-framework-part-1-getting-started.aspx" target="_blank"&gt;el
primero de una serie de art&amp;#237;culos&lt;/a&gt; dedicados a explicar con detalle el funcionamiento
de la herramienta utilizando una aplicaci&amp;#243;n de ejemplo como gu&amp;#237;a.
&lt;/p&gt;
&lt;p&gt;
Si sospechas que tienes alg&amp;#250;n problema de consumo de memoria en tu aplicaci&amp;#243;n
.NET te recomiendo que leas estos art&amp;#237;culos que te ayudar&amp;#225;n a intentar localizar
d&amp;#243;nde est&amp;#225; la causa.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=9957c712-eedb-46f9-a23e-a33de7f193c5" /&gt;</description>
      <comments>http://www.byteabyte.net/CommentView,guid,9957c712-eedb-46f9-a23e-a33de7f193c5.aspx</comments>
      <category>.NET Compact Framework</category>
    </item>
    <item>
      <trackback:ping>http://www.byteabyte.net/Trackback.aspx?guid=e989540a-2891-4d16-867c-3b90083c6a79</trackback:ping>
      <pingback:server>http://www.byteabyte.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.byteabyte.net/PermaLink,guid,e989540a-2891-4d16-867c-3b90083c6a79.aspx</pingback:target>
      <dc:creator>Alejandro Mezcua</dc:creator>
      <wfw:comment>http://www.byteabyte.net/CommentView,guid,e989540a-2891-4d16-867c-3b90083c6a79.aspx</wfw:comment>
      <wfw:commentRss>http://www.byteabyte.net/SyndicationService.asmx/GetEntryCommentsRss?guid=e989540a-2891-4d16-867c-3b90083c6a79</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Con las primeras betas de .NET Compact Framework 3.5 se incluían una serie de
utilidades que han desaparecido de la distribución encontrada en Visual Studio
2008. Estas aplicaciones <a title="Descarga de los Power Toys para .NET Compact Framework 3.5 (Septiembre de 2007) en MSDN" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=C8174C14-A27D-4148-BF01-86C2E0953EAB&amp;displaylang=en" target="_blank">se
distribuyen ahora en un paquete de instalación independiente</a> y su versión
definitiva saldrá cuando se libere Visual Studio 2008 (actualmente están
en versión beta también). Estas herramientas son:
</p>
        <ul>
          <li>
            <strong>Remote Performance Monitor, GC Heap Viewer y CLR Profiler. </strong>Permiten
capturar métricas de rendimiento de aplicaciones para su análisis posterior
así como capturas del estado de memoria de una aplicación .NET en un momento
dado. Son muy útiles para verificar el uso de recursos por parte de las aplicaciones
y depurar así su rendimiento, así como para capturar posibles problemas
de leaks de memoria y similares. 
</li>
          <li>
            <strong>Application Configuration Tool (NetCFcfg.exe). </strong>Esta utilidad permite
especificar la versión de .NET Compact Framework con la que se quiere que se
ejecute una determinada aplicación .NET en caso de que se tengan varias versiones
instaladas en el dispositivo. Por ejemplo se puede haber desarrollado una aplicación
con .NET CF 2.0 pero se ha actualizado el sistema y se quiere forzar a que esa aplicación
concreta se ejecute con la versión 3.5, aunque la 2.0 sigue instalada también.
Esta herramienta se ejecuta directamente en el dispositivo. 
</li>
          <li>
            <strong>NETCF Service Metadata Tool.</strong> Con esta utilidad se pueden generar
clases proxy para su uso con Windows Communication Foundation para .NET Compact Framework.
Es el equivalente de svcutil.exe en el PC. 
</li>
          <li>
            <strong>Remote logging configuration tool</strong>. Esta herramienta permite configurar
la creación de archivos de log que incluyan información la carga, errores,
uso de interop, utilización de la red y ejecución de finalizadores de aplicaciones
.NET. Estos logs son muy útiles para la detección de posibles problemas
cuando una aplicación está en fase de pruebas. 
</li>
          <li>
            <strong>NETCF Network log viewer</strong>. Utilidad para la visualización de
los logs de uso de red obtenidos con la herramienta anterior. 
</li>
        </ul>
        <blockquote>
          <p>
(obtenido del <a href="http://blogs.msdn.com/netcfteam/archive/2007/09/12/power-toys-for-net-compact-framework-3-5-ctp-released.aspx" target="_blank">blog
del equipo de desarrollo de .NET CF</a>)
</p>
        </blockquote>
        <img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=e989540a-2891-4d16-867c-3b90083c6a79" />
      </body>
      <title>Power Toys para .NET Compact Framework 3.5</title>
      <guid isPermaLink="false">http://www.byteabyte.net/PermaLink,guid,e989540a-2891-4d16-867c-3b90083c6a79.aspx</guid>
      <link>http://www.byteabyte.net/2007/09/13/PowerToysParaNETCompactFramework35.aspx</link>
      <pubDate>Thu, 13 Sep 2007 12:39:43 GMT</pubDate>
      <description>&lt;p&gt;
Con las primeras betas de .NET Compact Framework 3.5 se inclu&amp;#237;an una serie de
utilidades que han desaparecido de la distribuci&amp;#243;n encontrada en Visual Studio
2008. Estas aplicaciones &lt;a title="Descarga de los Power Toys para .NET Compact Framework 3.5 (Septiembre de 2007) en MSDN" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=C8174C14-A27D-4148-BF01-86C2E0953EAB&amp;amp;displaylang=en" target="_blank"&gt;se
distribuyen ahora en un paquete de instalaci&amp;#243;n independiente&lt;/a&gt; y su versi&amp;#243;n
definitiva saldr&amp;#225; cuando se libere Visual Studio 2008 (actualmente est&amp;#225;n
en versi&amp;#243;n beta tambi&amp;#233;n). Estas herramientas son:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Remote Performance Monitor, GC Heap Viewer y CLR Profiler. &lt;/strong&gt;Permiten
capturar m&amp;#233;tricas de rendimiento de aplicaciones para su an&amp;#225;lisis posterior
as&amp;#237; como capturas del estado de memoria de una aplicaci&amp;#243;n .NET en un momento
dado. Son muy &amp;#250;tiles para verificar el uso de recursos por parte de las aplicaciones
y depurar as&amp;#237; su rendimiento, as&amp;#237; como para capturar posibles problemas
de leaks de memoria y similares. 
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Application Configuration Tool (NetCFcfg.exe). &lt;/strong&gt;Esta utilidad permite
especificar la versi&amp;#243;n de .NET Compact Framework con la que se quiere que se
ejecute una determinada aplicaci&amp;#243;n .NET en caso de que se tengan varias versiones
instaladas en el dispositivo. Por ejemplo se puede haber desarrollado una aplicaci&amp;#243;n
con .NET CF 2.0 pero se ha actualizado el sistema y se quiere forzar a que esa aplicaci&amp;#243;n
concreta se ejecute con la versi&amp;#243;n 3.5, aunque la 2.0 sigue instalada tambi&amp;#233;n.
Esta herramienta se ejecuta directamente en el dispositivo. 
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NETCF Service Metadata Tool.&lt;/strong&gt; Con esta utilidad se pueden generar
clases proxy para su uso con Windows Communication Foundation para .NET Compact Framework.
Es el equivalente de svcutil.exe en el PC. 
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Remote logging configuration tool&lt;/strong&gt;. Esta herramienta permite configurar
la creaci&amp;#243;n de archivos de log que incluyan informaci&amp;#243;n la carga, errores,
uso de interop, utilizaci&amp;#243;n de la red y ejecuci&amp;#243;n de finalizadores de aplicaciones
.NET. Estos logs son muy &amp;#250;tiles para la detecci&amp;#243;n de posibles problemas
cuando una aplicaci&amp;#243;n est&amp;#225; en fase de pruebas. 
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NETCF Network log viewer&lt;/strong&gt;. Utilidad para la visualizaci&amp;#243;n de
los logs de uso de red obtenidos con la herramienta anterior. 
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt; 
&lt;p&gt;
(obtenido del &lt;a href="http://blogs.msdn.com/netcfteam/archive/2007/09/12/power-toys-for-net-compact-framework-3-5-ctp-released.aspx" target="_blank"&gt;blog
del equipo de desarrollo de .NET CF&lt;/a&gt;)
&lt;/p&gt;
&lt;/blockquote&gt;&lt;img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=e989540a-2891-4d16-867c-3b90083c6a79" /&gt;</description>
      <comments>http://www.byteabyte.net/CommentView,guid,e989540a-2891-4d16-867c-3b90083c6a79.aspx</comments>
      <category>.NET Compact Framework</category>
    </item>
    <item>
      <trackback:ping>http://www.byteabyte.net/Trackback.aspx?guid=ed65a914-0e3e-481f-9156-3ad54bc29d3d</trackback:ping>
      <pingback:server>http://www.byteabyte.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.byteabyte.net/PermaLink,guid,ed65a914-0e3e-481f-9156-3ad54bc29d3d.aspx</pingback:target>
      <dc:creator>Alejandro Mezcua</dc:creator>
      <wfw:comment>http://www.byteabyte.net/CommentView,guid,ed65a914-0e3e-481f-9156-3ad54bc29d3d.aspx</wfw:comment>
      <wfw:commentRss>http://www.byteabyte.net/SyndicationService.asmx/GetEntryCommentsRss?guid=ed65a914-0e3e-481f-9156-3ad54bc29d3d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Los chicos de OpenNETCF <a title="Community OpenNETCF" href="http://community.opennetcf.com/" target="_blank">acaban
de abrir un nuevo sitio web</a> orientado a la comunidad de desarrolladores para dispositivos
basados en Windows CE / Windows Mobile / .NET Compact Framework. Son de los mayores
expertos que hay en este tema con lo que el contenido que encontraréis será de calidad.
</p>
        <p>
Inicialmente el sitio empieza con 3 puntos concretos:
</p>
        <ol>
          <li>
            <font face="Segoe UI">
              <a href="http://community.opennetcf.com/articles/" target="_blank">Artículos
técnicos</a>. Artículos interesantes sobre desarrollo. Si queréis contribuir, se les
pueden mandar artículos para su publicación.</font>
          </li>
          <li>
            <font face="Segoe UI">
              <a href="http://community.opennetcf.com/content/CodingCompetition.aspx" target="_blank">Concursos
de desarrollo</a>. Organizan concursos de desarrollo cada mes con premios interesantes
para los ganadores. Este mes se trata de presentar aplicaciones o componentes con
interfaces de usuario atractivas. Los premios son una copia de Visual Studio y un
dispositivo Windows Mobile a elegir de entre varios.</font>
          </li>
          <li>
            <font face="Segoe UI">
              <a href="http://svn.opennetcf.com/" target="_blank">Un servidor
basado en Subversion donde alojar proyectos Open Source</a>. Ellos han colgado de
momento varios de sus proyectos Open Source pero ponen el servidor a disposición de
la comunidad para alojar otros proyectos relacionados con el desarrollo orientado
a dispositivos.</font>
          </li>
        </ol>
        <p>
 
</p>
        <p>
La idea promete, así que estaremos atentos a ver cómo evoluciona.
</p>
        <img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=ed65a914-0e3e-481f-9156-3ad54bc29d3d" />
      </body>
      <title>Nueva comunidad orientada al desarrollo para dispositivos</title>
      <guid isPermaLink="false">http://www.byteabyte.net/PermaLink,guid,ed65a914-0e3e-481f-9156-3ad54bc29d3d.aspx</guid>
      <link>http://www.byteabyte.net/2007/09/05/NuevaComunidadOrientadaAlDesarrolloParaDispositivos.aspx</link>
      <pubDate>Wed, 05 Sep 2007 07:54:16 GMT</pubDate>
      <description>&lt;p&gt;
Los chicos de OpenNETCF &lt;a title="Community OpenNETCF" href="http://community.opennetcf.com/" target="_blank"&gt;acaban
de abrir un nuevo sitio web&lt;/a&gt; orientado a la comunidad de desarrolladores para dispositivos
basados en Windows CE / Windows Mobile / .NET Compact Framework. Son de los mayores
expertos que hay en este tema con lo que el contenido que encontraréis será de calidad.
&lt;/p&gt;
&lt;p&gt;
Inicialmente el sitio empieza con 3 puntos concretos:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;font face="Segoe UI"&gt;&lt;a href="http://community.opennetcf.com/articles/" target="_blank"&gt;Artículos
técnicos&lt;/a&gt;. Artículos interesantes sobre desarrollo. Si queréis contribuir, se les
pueden mandar artículos para su publicación.&lt;/font&gt; 
&lt;li&gt;
&lt;font face="Segoe UI"&gt;&lt;a href="http://community.opennetcf.com/content/CodingCompetition.aspx" target="_blank"&gt;Concursos
de desarrollo&lt;/a&gt;. Organizan concursos de desarrollo cada mes con premios interesantes
para los ganadores. Este mes se trata de presentar aplicaciones o componentes con
interfaces de usuario atractivas. Los premios son una copia de Visual Studio y un
dispositivo Windows Mobile a elegir de entre varios.&lt;/font&gt; 
&lt;li&gt;
&lt;font face="Segoe UI"&gt;&lt;a href="http://svn.opennetcf.com/" target="_blank"&gt;Un servidor
basado en Subversion donde alojar proyectos Open Source&lt;/a&gt;. Ellos han colgado de
momento varios de sus proyectos Open Source pero ponen el servidor a disposición de
la comunidad para alojar otros proyectos relacionados con el desarrollo orientado
a dispositivos.&lt;/font&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
La idea promete, así que estaremos atentos a ver cómo evoluciona.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=ed65a914-0e3e-481f-9156-3ad54bc29d3d" /&gt;</description>
      <comments>http://www.byteabyte.net/CommentView,guid,ed65a914-0e3e-481f-9156-3ad54bc29d3d.aspx</comments>
      <category>.NET Compact Framework</category>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://www.byteabyte.net/Trackback.aspx?guid=478bd0a2-ff57-47bb-8bc5-eaeda132b754</trackback:ping>
      <pingback:server>http://www.byteabyte.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.byteabyte.net/PermaLink,guid,478bd0a2-ff57-47bb-8bc5-eaeda132b754.aspx</pingback:target>
      <dc:creator>Alejandro Mezcua</dc:creator>
      <wfw:comment>http://www.byteabyte.net/CommentView,guid,478bd0a2-ff57-47bb-8bc5-eaeda132b754.aspx</wfw:comment>
      <wfw:commentRss>http://www.byteabyte.net/SyndicationService.asmx/GetEntryCommentsRss?guid=478bd0a2-ff57-47bb-8bc5-eaeda132b754</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a title="Blog de Andrew Arnott" href="http://blogs.msdn.com/andrewarnottms/default.aspx" target="_blank">Andrew
Arnott</a>, uno de los programadores de .NET Compact Framework, ha <a title="The WCF subset supported by NetCF" href="http://blogs.msdn.com/andrewarnottms/archive/2007/08/21/the-wcf-subset-supported-by-netcf.aspx" target="_blank">publicado
una lista de las características de WCF (Windows Communication Foundation) que se
van a incluir en la nueva versión de .NET Compact Framework (3.5)</a>, esperada junto
con Visual Studio 2008. Como siempre (y lógicamente) .NET Compact Framework incorporará
un subconjunto de las características de su hermano mayor. Pero en este caso, .NET
Compact Framework incluye una funcionalidad diseñada en exclusiva para él que, según
aparece en esa lista, podrá ser utilizada desde WCF en el PC y es la <a title="Ejemplos de WCF para .NET Compact Framework" href="http://www.byteabyte.net/2007/03/27/EjemplosDeWCFParaNETCompactFramework.aspx" target="_blank">posibilidad
de realizar mensajería entre aplicaciones utilizando Microsoft Exchange como transporte
(ExchangeWebServiceMailBinding).</a> Este transporte de WCF ofrece ciertas características
bastante interesantes sobre todo en el caso de aplicaciones que se conectan esporádicamente
a la red, ya que Exchange almacena los mensajes recibidos hasta que pueden ser descargados
por el cliente cuando éste tenga conexión. He visto ejemplos de cómo funciona en dispositivos
móviles pero no lo he visto funcionando en el PC, así que habrá que probarlo...
</p>
        <img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=478bd0a2-ff57-47bb-8bc5-eaeda132b754" />
      </body>
      <title>Caracter&amp;iacute;sticas de WCF incluidas en .NET Compact Framework 3.5</title>
      <guid isPermaLink="false">http://www.byteabyte.net/PermaLink,guid,478bd0a2-ff57-47bb-8bc5-eaeda132b754.aspx</guid>
      <link>http://www.byteabyte.net/2007/08/21/CaracteriacutesticasDeWCFIncluidasEnNETCompactFramework35.aspx</link>
      <pubDate>Tue, 21 Aug 2007 14:27:54 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a title="Blog de Andrew Arnott" href="http://blogs.msdn.com/andrewarnottms/default.aspx" target="_blank"&gt;Andrew
Arnott&lt;/a&gt;, uno de los programadores de .NET Compact Framework,&amp;nbsp;ha &lt;a title="The WCF subset supported by NetCF" href="http://blogs.msdn.com/andrewarnottms/archive/2007/08/21/the-wcf-subset-supported-by-netcf.aspx" target="_blank"&gt;publicado
una lista de las características de WCF (Windows Communication Foundation) que se
van a incluir en la nueva versión de .NET Compact Framework (3.5)&lt;/a&gt;, esperada junto
con Visual Studio 2008. Como siempre (y lógicamente) .NET Compact Framework incorporará
un subconjunto de las características de su hermano mayor. Pero en este caso, .NET
Compact Framework incluye una funcionalidad diseñada en exclusiva para él que, según
aparece en esa lista, podrá ser utilizada desde WCF en el PC y es la &lt;a title="Ejemplos de WCF para .NET Compact Framework" href="http://www.byteabyte.net/2007/03/27/EjemplosDeWCFParaNETCompactFramework.aspx" target="_blank"&gt;posibilidad
de realizar mensajería entre aplicaciones utilizando Microsoft Exchange como transporte
(ExchangeWebServiceMailBinding).&lt;/a&gt; Este transporte de WCF ofrece ciertas características
bastante interesantes sobre todo en el caso de aplicaciones que se conectan esporádicamente
a la red, ya que Exchange almacena los mensajes recibidos hasta que pueden ser descargados
por el cliente cuando éste tenga conexión. He visto ejemplos de cómo funciona en dispositivos
móviles pero no lo he visto funcionando en el PC, así que habrá que probarlo...
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=478bd0a2-ff57-47bb-8bc5-eaeda132b754" /&gt;</description>
      <comments>http://www.byteabyte.net/CommentView,guid,478bd0a2-ff57-47bb-8bc5-eaeda132b754.aspx</comments>
      <category>.NET Compact Framework</category>
    </item>
    <item>
      <trackback:ping>http://www.byteabyte.net/Trackback.aspx?guid=451db597-17a2-4919-a6ba-76a74bc4f7bc</trackback:ping>
      <pingback:server>http://www.byteabyte.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.byteabyte.net/PermaLink,guid,451db597-17a2-4919-a6ba-76a74bc4f7bc.aspx</pingback:target>
      <dc:creator>Alejandro Mezcua</dc:creator>
      <wfw:comment>http://www.byteabyte.net/CommentView,guid,451db597-17a2-4919-a6ba-76a74bc4f7bc.aspx</wfw:comment>
      <wfw:commentRss>http://www.byteabyte.net/SyndicationService.asmx/GetEntryCommentsRss?guid=451db597-17a2-4919-a6ba-76a74bc4f7bc</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Hace un par de días he recibido mi copia de libro <a href="http://www.amazon.com/gp/product/0735623589?ie=UTF8&amp;tag=byteabytenet-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0735623589">Microsoft
Mobile Development Handbook</a> editado por Microsoft Press del cual tuve el
placer de revisar algunos capítulos mientras lo estaban escribiendo.
</p>
        <p>
El libro lo han escrito Andy Wigley, Daniel Moth y Peter Foot, tres conocidos MVPs
en desarrollo para dispositivos cuando iniciaron el libro aunque ahora Daniel Moth
ha dejado de serlo ya que ha pasado a ser empleado de Microsoft en el área de movilidad.
</p>
        <p>
Es un libro bastante completo (más de 600 páginas) que cubre casi todo lo relacionado
con desarrollo para dispositivos Windows Mobile, centrándose en .NET Compact Framework
2.0 y ofreciendo una introducción a .NET Compact Framework 3.5 que vendrá con Visual
Studio 2008, tratando temas de pruebas unitarias, LINQ y WCF para dispositivos.
</p>
        <p>
En su primera parte se centra en lo 'esencial' del desarrollo de aplicaciones móviles,
aunque muchos de los temas se pueden aplicar a cualquier otro entorno .NET; en concreto
el capítulo 4 sobre pruebas de las aplicaciones y gestión de excepciones.
</p>
        <p>
La segunda parte trata temas más concretos sobre los retos que presentan las aplicaciones
móviles hablando sobre temas de red, threading, seguridad y criptografía, acceso
a datos, gráficos, controles, etc...
</p>
        <p>
Existe un capítulo, el capítulo 5, dedicado al rendimiento de .NET Compact Framework
que explica bastante bien cómo funciona, entre otras cosas, el recolector de basura
de .NET Compact Framework y cómo usar las herramientas existentes para medir el rendimiento
de las aplicaciones. Este capítulo, aparte del interés que tiene para los desarrolladores
de aplicaciones móviles, también puede ser de especial interés para los desarrolladores
de juegos basados en <a href="http://msdn2.microsoft.com/en-us/xna/default.aspx" target="_blank">XNA</a> ya
que esta plataforma se basa en .NET Compact Framework.
</p>
        <p>
En definitiva <a href="http://www.amazon.com/gp/product/0735623589?ie=UTF8&amp;tag=byteabytenet-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0735623589">Microsoft
Mobile Development Handbook</a> es un libro bastante recomendable para todos aquellos
que quieran desarrollar aplicaciones para dispositivos Windows CE o Windows Mobile
usando .NET Compact Framework escrito por gente que conoce bastante bien la plataforma.
</p>
        <img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=451db597-17a2-4919-a6ba-76a74bc4f7bc" />
      </body>
      <title>Microsoft Mobile Development Handbook</title>
      <guid isPermaLink="false">http://www.byteabyte.net/PermaLink,guid,451db597-17a2-4919-a6ba-76a74bc4f7bc.aspx</guid>
      <link>http://www.byteabyte.net/2007/07/10/MicrosoftMobileDevelopmentHandbook.aspx</link>
      <pubDate>Tue, 10 Jul 2007 16:29:14 GMT</pubDate>
      <description>&lt;p&gt;
Hace un par de días he recibido mi copia de libro &lt;a href="http://www.amazon.com/gp/product/0735623589?ie=UTF8&amp;amp;tag=byteabytenet-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0735623589"&gt;Microsoft
Mobile Development Handbook&lt;/a&gt;&amp;nbsp;editado por Microsoft Press del cual tuve el
placer de revisar algunos capítulos mientras lo estaban escribiendo.
&lt;/p&gt;
&lt;p&gt;
El libro lo han escrito Andy Wigley, Daniel Moth y Peter Foot, tres conocidos MVPs
en desarrollo para dispositivos cuando iniciaron el libro aunque ahora Daniel Moth
ha dejado de serlo ya que ha pasado a ser empleado de Microsoft en el área de movilidad.
&lt;/p&gt;
&lt;p&gt;
Es un libro bastante completo (más de 600 páginas) que cubre casi todo lo relacionado
con desarrollo para dispositivos Windows Mobile, centrándose en .NET Compact Framework
2.0 y ofreciendo una introducción a .NET Compact Framework 3.5 que vendrá con Visual
Studio 2008, tratando temas de pruebas unitarias, LINQ y WCF para dispositivos.
&lt;/p&gt;
&lt;p&gt;
En su primera parte se centra en lo 'esencial' del desarrollo de aplicaciones móviles,
aunque muchos de los temas se pueden aplicar a cualquier otro entorno .NET; en concreto
el capítulo 4 sobre pruebas de las aplicaciones y gestión de excepciones.
&lt;/p&gt;
&lt;p&gt;
La segunda parte trata temas más concretos sobre los retos que presentan las aplicaciones
móviles&amp;nbsp;hablando&amp;nbsp;sobre temas de red, threading, seguridad y criptografía,&amp;nbsp;acceso
a datos, gráficos, controles, etc...
&lt;/p&gt;
&lt;p&gt;
Existe un capítulo, el capítulo 5, dedicado al rendimiento de .NET Compact Framework
que explica bastante bien cómo funciona, entre otras cosas, el recolector de basura
de .NET Compact Framework y cómo usar las herramientas existentes para medir el rendimiento
de las aplicaciones. Este capítulo, aparte del interés que tiene para los desarrolladores
de aplicaciones móviles, también puede ser de especial interés para los desarrolladores
de juegos basados en&amp;nbsp;&lt;a href="http://msdn2.microsoft.com/en-us/xna/default.aspx" target="_blank"&gt;XNA&lt;/a&gt; ya
que esta plataforma se basa en .NET Compact Framework.
&lt;/p&gt;
&lt;p&gt;
En definitiva &lt;a href="http://www.amazon.com/gp/product/0735623589?ie=UTF8&amp;amp;tag=byteabytenet-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0735623589"&gt;Microsoft
Mobile Development Handbook&lt;/a&gt; es un libro bastante recomendable para todos aquellos
que quieran desarrollar aplicaciones para dispositivos Windows CE o Windows Mobile
usando .NET Compact Framework escrito por gente que&amp;nbsp;conoce bastante bien la plataforma.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=451db597-17a2-4919-a6ba-76a74bc4f7bc" /&gt;</description>
      <comments>http://www.byteabyte.net/CommentView,guid,451db597-17a2-4919-a6ba-76a74bc4f7bc.aspx</comments>
      <category>.NET Compact Framework</category>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://www.byteabyte.net/Trackback.aspx?guid=a5cf5645-427e-4771-babf-52fbd1538501</trackback:ping>
      <pingback:server>http://www.byteabyte.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.byteabyte.net/PermaLink,guid,a5cf5645-427e-4771-babf-52fbd1538501.aspx</pingback:target>
      <dc:creator>Alejandro Mezcua</dc:creator>
      <wfw:comment>http://www.byteabyte.net/CommentView,guid,a5cf5645-427e-4771-babf-52fbd1538501.aspx</wfw:comment>
      <wfw:commentRss>http://www.byteabyte.net/SyndicationService.asmx/GetEntryCommentsRss?guid=a5cf5645-427e-4771-babf-52fbd1538501</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Siguiendo la línea que os comentaba <a title="Screencase de SQL CE Sync Designer" href="http://www.byteabyte.net/2007/03/22/ScreencastDeSQLCESyncDesigner.aspx">en
el post anterior</a> donde se mostraba un ejemplo que nos contaron en el pasado MVP
Summit (en ese caso acerca de SQL CE Sync Services del que, por cierto, <a title="Going N Tier w/WCF, Synchronizing data using Sync Services for ADO.NET and SQL Server Compact Edition" href="http://blogs.msdn.com/stevelasker/archive/2007/03/23/going-n-tier-w-wcf-synchronizing-data-using-sync-services-for-ado-net-and-sql-server-compact-edition.aspx" target="_blank">se
ha publicado la segunda parte</a>), Mark Prentice <a title="Introduction to Windows Communication Foundation for the .NET Compact Framework Messaging Stack" href="http://blogs.msdn.com/markprenticems/archive/2007/03/27/introduction-to-windows-communication-foundation-for-the-net-compact-framework-messaging-stack.aspx" target="_blank">publica
ahora un ejemplo</a> que nos mostraron sobre WCF para .NET Compact Framework 3.5.
</p>
        <p>
WCF para Compact Framework se va a suministrar con dos canales de comunicación, uno
basado en HTTP (ó HTTPS) y otro basado en Exchange Server. Se pueden usar  las
versiones 2003 SP2 o 2007 de Exchange La versión 2007 dispone de algunas características
adicionales, como la posibilidad de usar aplicaciones de escritorio que 'hablen' con
el servidor Exchange mediante Servicios Web para mandar mensajes a los dispositivos.
En este caso la comunicación con los dispositivos usará entonces el correo electrónico
como base. El dispositivo recibirá un correo mediante Server ActiveSync con un formato
determinado que la aplicación podrá capturar, no apareciendo así el mensaje en el
buzón de correo del usuario. Esto causó bastantes preguntas ya que no todo el mundo
dispone de Exchange y las necesidades de la gente pueden variar bastante, como, por
ejemplo, ¿qué hacer si se quieren usar diversas direcciones de email para diferentes
aplicaciones cuando ActiveSync sólo permite disponer de una cuenta configurada contra
Exchange?
</p>
        <p>
Si ninguno de estos canales nos sirve para nuestra aplicación, siempre se puede extender
el sistema y usar el mecanismo de comunicación que nos interese/inventemos. La ventaja
que tendremos es que desde el punto de vista del código cliente la utilización será
similar, escondiéndose la implementación del canal para que sea transparente.
</p>
        <img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=a5cf5645-427e-4771-babf-52fbd1538501" />
      </body>
      <title>Ejemplos de WCF para .NET Compact Framework</title>
      <guid isPermaLink="false">http://www.byteabyte.net/PermaLink,guid,a5cf5645-427e-4771-babf-52fbd1538501.aspx</guid>
      <link>http://www.byteabyte.net/2007/03/27/EjemplosDeWCFParaNETCompactFramework.aspx</link>
      <pubDate>Tue, 27 Mar 2007 10:02:04 GMT</pubDate>
      <description>&lt;p&gt;
Siguiendo la línea que os comentaba &lt;a title="Screencase de SQL CE Sync Designer" href="http://www.byteabyte.net/2007/03/22/ScreencastDeSQLCESyncDesigner.aspx"&gt;en
el post anterior&lt;/a&gt; donde se mostraba un ejemplo que nos contaron en el pasado MVP
Summit (en ese caso acerca de SQL CE Sync Services del que, por cierto, &lt;a title="Going N Tier w/WCF, Synchronizing data using Sync Services for ADO.NET and SQL Server Compact Edition" href="http://blogs.msdn.com/stevelasker/archive/2007/03/23/going-n-tier-w-wcf-synchronizing-data-using-sync-services-for-ado-net-and-sql-server-compact-edition.aspx" target="_blank"&gt;se
ha publicado la segunda parte&lt;/a&gt;), Mark Prentice &lt;a title="Introduction to Windows Communication Foundation for the .NET Compact Framework Messaging Stack" href="http://blogs.msdn.com/markprenticems/archive/2007/03/27/introduction-to-windows-communication-foundation-for-the-net-compact-framework-messaging-stack.aspx" target="_blank"&gt;publica
ahora un ejemplo&lt;/a&gt; que nos mostraron sobre WCF para .NET Compact Framework 3.5.
&lt;/p&gt;
&lt;p&gt;
WCF para Compact Framework se va a suministrar con dos canales de comunicación, uno
basado en HTTP (ó HTTPS) y otro basado en Exchange Server. Se pueden usar&amp;nbsp;&amp;nbsp;las
versiones 2003 SP2 o 2007 de Exchange La versión 2007 dispone de algunas características
adicionales, como la posibilidad de usar aplicaciones de escritorio que 'hablen' con
el servidor Exchange mediante Servicios Web para mandar mensajes a los dispositivos.
En este caso la comunicación con los dispositivos usará entonces&amp;nbsp;el correo electrónico
como base. El dispositivo recibirá un correo mediante Server ActiveSync con un formato
determinado que la aplicación podrá capturar, no apareciendo así el mensaje en el
buzón de correo del usuario. Esto causó bastantes preguntas ya que no todo el mundo
dispone de Exchange y las necesidades de la gente pueden variar bastante, como, por
ejemplo, ¿qué hacer si se quieren usar diversas direcciones de email para diferentes
aplicaciones cuando ActiveSync sólo permite disponer de una cuenta configurada contra
Exchange?
&lt;/p&gt;
&lt;p&gt;
Si ninguno de estos canales nos sirve para nuestra aplicación, siempre se puede extender
el sistema y usar el mecanismo de comunicación que nos interese/inventemos. La ventaja
que tendremos es que desde el punto de vista del código cliente la utilización será
similar, escondiéndose la implementación del canal para que sea transparente.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.byteabyte.net/aggbug.ashx?id=a5cf5645-427e-4771-babf-52fbd1538501" /&gt;</description>
      <comments>http://www.byteabyte.net/CommentView,guid,a5cf5645-427e-4771-babf-52fbd1538501.aspx</comments>
      <category>.NET Compact Framework</category>
      <category>Windows Mobile</category>
    </item>
  </channel>
</rss>