<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Michael's Blog</title><link>http://weblogs.asp.net/mschwarz/default.aspx</link><description>ASP.NET and Embedded Development</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/mschwarz" type="application/rss+xml" /><item><title>Results of AJAX Statistic for .NET Development</title><link>http://feedproxy.google.com/~r/mschwarz/~3/hKaHglMsnmM/results-of-ajax-statistic-for-net-development.aspx</link><pubDate>Tue, 23 Jun 2009 07:36:12 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7132419</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=7132419</wfw:commentRss><wfw:comment>http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=7132419</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2009/06/23/results-of-ajax-statistic-for-net-development.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://codeclimber.net.nz/"&gt;Simone&lt;/a&gt; has created another &lt;a href="http://codeclimber.net.nz/archive/2009/06/22/ajax-survey-2009-jquery-and-ms-ajax-are-almost-tied.aspx"&gt;survey&lt;/a&gt; concerning AJAX usage with ASP.NET. The results are available, now, and it is really interesting to see that there are only small changes in the use of AJAX libraries for ASP.NET developers.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The &lt;strong&gt;most used Ajax/JS library&lt;/strong&gt; among .NET developers is &lt;/em&gt;&lt;a href="http://jquery.com/"&gt;&lt;strong&gt;&lt;em&gt;jQuery&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;em&gt;, which is used by the &lt;strong&gt;71,4%&lt;/strong&gt; of the users. Second comes the &lt;/em&gt;&lt;a href="http://asp.net/ajax/ajaxcontroltoolkit/"&gt;&lt;strong&gt;&lt;em&gt;Ajax Control Toolkit&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;em&gt; with &lt;strong&gt;58,8%&lt;/strong&gt;, followed by the core &lt;/em&gt;&lt;a href="http://asp.net/ajax/"&gt;&lt;strong&gt;&lt;em&gt;ASP.NET Ajax&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;em&gt;&lt;strong&gt; library&lt;/strong&gt;, which is used by &lt;strong&gt;44,8%&lt;/strong&gt;.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;The 3 most used libraries are still the same of 2007, just with the opposite order (it was ASP.NET Ajax, the Control Toolkit and then jQuery).&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;He writes more about the results concerning my library:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;And, despite &lt;/em&gt;&lt;a href="http://weblogs.asp.net/mschwarz/archive/2008/01/04/future-of-ajax-net-professional.aspx"&gt;&lt;em&gt;becoming a dormant project&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, &lt;/em&gt;&lt;a href="http://www.ajaxpro.info/"&gt;&lt;em&gt;AJAX.NET Professional&lt;/em&gt;&lt;/a&gt;&lt;em&gt; lost only 3% of the users.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Here are the results in more detail:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="379"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;&lt;strong&gt;2007&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="59"&gt;&lt;strong&gt;2009&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="59"&gt;&lt;strong&gt;diff&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;strong&gt;jQuery&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;13,3%&lt;/td&gt;        &lt;td valign="top" width="64"&gt;71,4%&lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;font color="#00ff00"&gt;58,1%&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;strong&gt;AJAX Control Toolkit&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;49,6%&lt;/td&gt;        &lt;td valign="top" width="67"&gt;58,8%&lt;/td&gt;        &lt;td valign="top" width="66"&gt;9,2%&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;strong&gt;ASP.NET Ajax&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;73,7%&lt;/td&gt;        &lt;td valign="top" width="69"&gt;44,8%&lt;/td&gt;        &lt;td valign="top" width="68"&gt;&lt;font color="#ff0000"&gt;-28,9%&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;strong&gt;Telerik radControls&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;11,7%&lt;/td&gt;        &lt;td valign="top" width="70"&gt;15,6%&lt;/td&gt;        &lt;td valign="top" width="69"&gt;3,9%&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;a href="http://www.ajaxpro.info/"&gt;&lt;strong&gt;Ajax.NET Professional&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;13,3%&lt;/td&gt;        &lt;td valign="top" width="71"&gt;10,3%&lt;/td&gt;        &lt;td valign="top" width="70"&gt;-3,0%&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;strong&gt;JSON.NET&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;3,3%&lt;/td&gt;        &lt;td valign="top" width="71"&gt;9,7%&lt;/td&gt;        &lt;td valign="top" width="70"&gt;6,4%&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;strong&gt;Raw Ajax&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;11,3%&lt;/td&gt;        &lt;td valign="top" width="71"&gt;8,6%&lt;/td&gt;        &lt;td valign="top" width="70"&gt;-2,7%&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;strong&gt;Prototype&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;11,5%&lt;/td&gt;        &lt;td valign="top" width="71"&gt;8,3%&lt;/td&gt;        &lt;td valign="top" width="70"&gt;-3,2%&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;strong&gt;Yahoo! UI&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;5,5%&lt;/td&gt;        &lt;td valign="top" width="71"&gt;7,0%&lt;/td&gt;        &lt;td valign="top" width="70"&gt;1,5%&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;strong&gt;Ext JS&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;6,1%&lt;/td&gt;        &lt;td valign="top" width="71"&gt;6,1%&lt;/td&gt;        &lt;td valign="top" width="70"&gt;0,0%&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="193"&gt;&lt;strong&gt;Script.aculo.us&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="66"&gt;9,7%&lt;/td&gt;        &lt;td valign="top" width="71"&gt;5,3%&lt;/td&gt;        &lt;td valign="top" width="70"&gt;-4,4%&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;It is really interesting that there is only one big change, jQuery become the new #1, I use jQuery in combination with my own library since the very beginning, and this combination is still what I recommend to use.&lt;/p&gt;  &lt;p&gt;If you have a look at the &lt;a href="http://ajaxpro.codeplex.com/stats"&gt;CodePlex download statistics&lt;/a&gt; you can see that Ajax.NET Professional is still alive: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/mschwarz/image_3F85E272.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/mschwarz/image_thumb_107380CE.png" width="420" height="222" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;And for those of you are interested: yes, I’m still developing my private version of &lt;a href="http://www.ajaxpro.info/"&gt;Ajax.NET Professional&lt;/a&gt;. I have added several features that let me work with JavaScript, jQuery and ASP.NET more faster. One interesting feature I have added is the AjaxHashCode attribute that will append a __hash property to the JSON converted structure. This can be compared more faster on the client-side JavaScript code to indentify if there is a change in live data. Maybe I will have some time to publish my private version which is not 100% compatible with the public one, but maybe interesting for some of you.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7132419" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/HnS9EOesSaPBZZdG2YMA6veEIGM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HnS9EOesSaPBZZdG2YMA6veEIGM/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/HnS9EOesSaPBZZdG2YMA6veEIGM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HnS9EOesSaPBZZdG2YMA6veEIGM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mschwarz/~4/hKaHglMsnmM" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/mschwarz/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/Ajax.NET/default.aspx">Ajax.NET</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/Web+2.0/default.aspx">Web 2.0</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/jQuery/default.aspx">jQuery</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/MVC/default.aspx">MVC</category><feedburner:origLink>http://weblogs.asp.net/mschwarz/archive/2009/06/23/results-of-ajax-statistic-for-net-development.aspx</feedburner:origLink></item><item><title>IActiveScriptParse and x64</title><link>http://feedproxy.google.com/~r/mschwarz/~3/Laj3jlLdeC4/iactivescriptparse-and-x64.aspx</link><pubDate>Fri, 19 Jun 2009 14:20:49 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7130148</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=7130148</wfw:commentRss><wfw:comment>http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=7130148</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2009/06/19/iactivescriptparse-and-x64.aspx#comments</comments><description>&lt;p&gt;Some days ago I had to work on an .NET application that has been ported from C++. This application is using VBScript as scripting host using the IActiveScriptParse interface. While the C++ compile was working fine on x64 the .NET port didn’t work.&lt;/p&gt;  &lt;p&gt;To understand why it is not working I had a look at the target platform settings in the .NET project. By default Visual Studio is using &lt;em&gt;Any CPU&lt;/em&gt;. The .NET runtime then will have a look at the PE header to identify if the assembly has been compiled with &lt;em&gt;Any CPU&lt;/em&gt;, &lt;em&gt;x86&lt;/em&gt; or &lt;em&gt;x64&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;The IActiveScriptParse interface on x86 is mapped to IActiveScriptParse32 with the ClassID BB1A2AE2-A4F9-11cf-8F20-00805F2CD064. The easiest way to get it working on x64 was to mark the assembly as x86. You can do this with the target platform property in your Visual Studio project or by using the corflags.exe:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;corflags.exe ConsoleApplication1.exe /32BIT+&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Well, the effect is that the the application is running in 32-bit mode on x64 what I don’t want to. There must be a better solution to do the trick and keep the &lt;em&gt;Any CPU&lt;/em&gt; target platform.&lt;/p&gt;  &lt;p&gt;Let’s have a more detailed look in the C++ source code. The interface IID_IActiveScriptParse is mapping to IID_IActiveScriptParse32. When reading the source code file &lt;em&gt;ActivScp.h&lt;/em&gt; I found that there is a x64 version, too. When I had a look at the OLE-COM Viewer I didn’t find it there. Ok, I will take the new ClassID C7EF7658-E1EE-480E-97EA-D52CB4D76D17 from &lt;em&gt;ActiveScp.h&lt;/em&gt; and use it on x64 platforms. To device if you’re running on x64 or x86 you can check the size of IntPtr:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;if (IntPtr.Size == 4)        &lt;br /&gt;{         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; IActiveScriptParse32 x = (IActiveScriptParse32)Activator.CreateInstance(t);         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; script32.InitNew();         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; // …         &lt;br /&gt;}         &lt;br /&gt;else         &lt;br /&gt;{         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; IActiveScriptParse64 y = (IActiveScriptParse64)Activator.CreateInstance(t);         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; // …         &lt;br /&gt;}&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Hm, that’s working in my .NET application, but not really nice. I will create a wrapper around the both interfaces as the method arguments are the same (except the size of the IntPtr, of course).&lt;/p&gt;  &lt;p&gt;While searching for the x64 interface description I found that Microsoft already created such a wrapper. You can find this in &lt;a href="http://www.koders.com/csharp/fidFE726C3F9EFE93E72AF241DBD7A6970345AE0835.aspx?s=C7EF7658-E1EE-480E-97EA-D52CB4D76D17"&gt;_comimports.cs&lt;/a&gt;, but all members are marked as internal and a define is set to not compile the code, why? I don’t understand this. &lt;/p&gt;  &lt;p&gt;Using the wrapper couldn’t be easier:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Type t = Type.GetTypeFromProgID(&amp;quot;VBScript&amp;quot;);        &lt;br /&gt;ActiveScriptParseWrapper wrapper = new ActiveScriptParseWrapper(Activator.CreateInstance(t));         &lt;br /&gt;wrapper.InitNew();         &lt;br /&gt;// …&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I’ve created a &lt;a href="https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=467474"&gt;feedback&lt;/a&gt; at Microsoft Connect, maybe we’ll get this or find a common solution for this.&lt;/p&gt;  &lt;p&gt;Just one note: using C++ the compiler will always use the x86 version (IActiveScriptParse32). You need to add a define #define _WIN64 to explicit use the x64 version. Oh, that means the x64 compiled version before could use the 32-bit one? That is the difference I still don’t understand why it is different using C++ or C#. Is this a bug or a feature by design?&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7130148" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uVe_kzT1YUNp8Rxs99JZzxY6nIM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uVe_kzT1YUNp8Rxs99JZzxY6nIM/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/uVe_kzT1YUNp8Rxs99JZzxY6nIM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uVe_kzT1YUNp8Rxs99JZzxY6nIM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mschwarz/~4/Laj3jlLdeC4" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/mschwarz/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><feedburner:origLink>http://weblogs.asp.net/mschwarz/archive/2009/06/19/iactivescriptparse-and-x64.aspx</feedburner:origLink></item><item><title>MFtoolkit available soon in .NET MF 3.0 SP1</title><link>http://feedproxy.google.com/~r/mschwarz/~3/vjj-cEjQ_4o/mftoolkit-available-soon-in-net-mf-3-0-sp1.aspx</link><pubDate>Tue, 31 Mar 2009 22:21:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7017144</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=7017144</wfw:commentRss><wfw:comment>http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=7017144</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2009/04/01/mftoolkit-available-soon-in-net-mf-3-0-sp1.aspx#comments</comments><description>&lt;p&gt;Microsoft announced that parts of the &lt;a href="http://www.mftoolkit.net/" mce_href="http://www.mftoolkit.net/"&gt;MFtoolkit&lt;/a&gt; will be available in the first service pack for .NET Micro Framework 3.0. Missing http support (currently we have only simple WebServices) is one of the most requested features. Support for hardware devices / modules like XBee or common sensors are following right after. .NET MF 3.0 SP1 will be available around June 2009.&lt;/p&gt;  &lt;p&gt;Until then the &lt;a href="http://www.mftoolkit.net/" mce_href="http://www.mftoolkit.net/"&gt;MFtoolkit&lt;/a&gt; will be still available at &lt;a href="http://www.mftoolkit.net/" mce_href="http://www.mftoolkit.net/"&gt;CodePlex&lt;/a&gt;. This week we got some new features like NetBIOS lookup, C6820 camera driver, SHA1 and SHA256 support as well as more improvements for XBee and http server classes.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; yes, today is &lt;a href="http://en.wikipedia.org/wiki/April_Fools%27_Day"&gt;April Fools' Day&lt;/a&gt; or All Fools' Day.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7017144" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7EIwn9HsPj_43kumhlc6oUCMcZM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7EIwn9HsPj_43kumhlc6oUCMcZM/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/7EIwn9HsPj_43kumhlc6oUCMcZM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7EIwn9HsPj_43kumhlc6oUCMcZM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mschwarz/~4/vjj-cEjQ_4o" height="1" width="1"/&gt;</description><feedburner:origLink>http://weblogs.asp.net/mschwarz/archive/2009/04/01/mftoolkit-available-soon-in-net-mf-3-0-sp1.aspx</feedburner:origLink></item><item><title>Ajax.NET Professional and ASP.NET MVC</title><link>http://feedproxy.google.com/~r/mschwarz/~3/AsMYeWeuCME/ajax-net-professional-and-asp-net-mvc.aspx</link><pubDate>Wed, 25 Mar 2009 12:01:08 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6999541</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=6999541</wfw:commentRss><wfw:comment>http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=6999541</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2009/03/25/ajax-net-professional-and-asp-net-mvc.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://my6solutions.com/"&gt;Sean Lin&lt;/a&gt; has written about how &lt;a href="http://my6solutions.com/post/2009/03/09/Running-AjaxNET-Professional-under-ASP-NET-MVC.aspx"&gt;Ajax.NET Professional (AjaxPro) can be used with ASP.NET MVC&lt;/a&gt; and what you have to change to get it working. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Anyway, I have been using Ajax.NET since .NET 2.0, as well as since .NET 3.5. I haven't found a good reason to switch and it even runs under ASP .NET MVC and I reckon it is still better than using Ajax.ActionLink(). Unless of course, there's some easier method that I do not know of then please feel free to enlighten me anytime. Most of my Ajax use centers around requesting data from the server asynchronously and then using javascript to update the DOM.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;As there are still a lot of developers starting with AjaxPro right now I will publish a new release during the next weeks that will change AjaxPro to use jQuery instead my own JavaScript code.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6999541" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kow5Qou2pjOFe8LX11LLdzRpKFI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kow5Qou2pjOFe8LX11LLdzRpKFI/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/kow5Qou2pjOFe8LX11LLdzRpKFI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kow5Qou2pjOFe8LX11LLdzRpKFI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mschwarz/~4/AsMYeWeuCME" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/mschwarz/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/Ajax.NET/default.aspx">Ajax.NET</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/jQuery/default.aspx">jQuery</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/MVC/default.aspx">MVC</category><feedburner:origLink>http://weblogs.asp.net/mschwarz/archive/2009/03/25/ajax-net-professional-and-asp-net-mvc.aspx</feedburner:origLink></item><item><title>How to fix German c:\Programme “Access denied”</title><link>http://feedproxy.google.com/~r/mschwarz/~3/aFxMhye0yWg/how-to-fix-german-c-programme-access-denied.aspx</link><pubDate>Fri, 27 Feb 2009 18:29:05 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6931124</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=6931124</wfw:commentRss><wfw:comment>http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=6931124</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2009/02/27/how-to-fix-german-c-programme-access-denied.aspx#comments</comments><description>&lt;p&gt;Some months ago I opened a Microsoft Support call to ask why &lt;a href="http://michael-schwarz.blogspot.com/2009/02/muss-microsoft-englisch-kurse-anbieten.html"&gt;I cannot open &lt;em&gt;c:\Programme&lt;/em&gt;&lt;/a&gt; (the German translated folder for &lt;em&gt;c:\Program Files&lt;/em&gt;) on Windows Vista or Windows 7 Beta. When you type &lt;em&gt;c:\Prog&lt;/em&gt; on a German Vista machine you will get a drop down list containing &lt;em&gt;c:\Programme&lt;/em&gt;. Use the arrow keys to select it and press enter. What you get is a access denied message.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.ajaxpro.info/images/blog/HowtofixGermancProgrammeAccessdenied_111EF/image.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="211" alt="image" src="http://www.ajaxpro.info/images/blog/HowtofixGermancProgrammeAccessdenied_111EF/image_thumb.png" width="429" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Another test I did was to open &lt;em&gt;c:\Programme\Windows NT&lt;/em&gt;, and wow, this was working without any problem. But when I clicked in the address bar on the &lt;em&gt;Programme&lt;/em&gt; tab I got access denied, too.&lt;/p&gt;  &lt;p&gt;For those of you don’t understand what the problem is: on Windows XP Microsoft decided to use the translated name of &lt;em&gt;Program Files&lt;/em&gt;. Some applications didn’t asked the OS for the program files folder and used instead hard coded &lt;em&gt;c:\Programme&lt;/em&gt;. To get those applications running on Windows Vista Microsoft introduced the symbolic links. But here is the problem, they are not working as I (and others) expect.&lt;/p&gt;  &lt;p&gt;Well, the end of the story is that I found a &lt;a href="http://michael-schwarz.blogspot.com/2009/02/noch-ein-letztes-wort-zu-cprogramme-und.html"&gt;solution&lt;/a&gt; how to fix it (note that I’m not responsible for any damage or problem doing following steps):&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;using administrative rights open a DOS box with &lt;strong&gt;cmd.exe&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;there go to the root directory of the system drive using &lt;strong&gt;cd /D %systemdrive%\&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;next you have to delete the symbolic link with &lt;strong&gt;rd Programme&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;add the symbolic link using &lt;strong&gt;mklink.exe /J Programme “c:\Program Files”&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;to hide the link you can use &lt;strong&gt;attrib +H c:\Programme&lt;/strong&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Microsoft Next Level Support told me today that they would use this solution for any support call in the future, maybe they will add a KB article next, too.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;We are taken your solution in account in future OS. For current OS we will not provide a hotfix for security reasons. In Windows 7 Beta we have the same behaviour. Hopefully it get fixed for release version which is the job of the development team.&lt;/p&gt;    &lt;p&gt;It was my pleasure to talk to you today. Following our telephone conversation I will proceed further with the temporary archive of the SRZ….&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I checked this behaviour on different languages, but all I checked are using &lt;em&gt;c:\Program Files&lt;/em&gt; since the beginning, seems to be only a bug (Microsoft told me first it is by design) in the German OS.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6931124" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/csgZ90_97RtUpUzFNTwUEXZ8gCs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/csgZ90_97RtUpUzFNTwUEXZ8gCs/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/csgZ90_97RtUpUzFNTwUEXZ8gCs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/csgZ90_97RtUpUzFNTwUEXZ8gCs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mschwarz/~4/aFxMhye0yWg" height="1" width="1"/&gt;</description><feedburner:origLink>http://weblogs.asp.net/mschwarz/archive/2009/02/27/how-to-fix-german-c-programme-access-denied.aspx</feedburner:origLink></item><item><title>Moving .NET Micro Framework Stuff to a New Blog</title><link>http://feedproxy.google.com/~r/mschwarz/~3/ft-BmHn7GUQ/moving-net-micro-framework-stuff-to-a-new-blog.aspx</link><pubDate>Mon, 23 Feb 2009 09:45:51 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6924057</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=6924057</wfw:commentRss><wfw:comment>http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=6924057</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2009/02/23/moving-net-micro-framework-stuff-to-a-new-blog.aspx#comments</comments><description>&lt;p&gt;As this blog is more about ASP.NET and AJAX development I’m moving the .NET Micro Framework related stuff to a new blog. If you want to continue reading update your RSS reader to &lt;a title="http://netmicroframework.blogspot.com/" href="http://netmicroframework.blogspot.com/"&gt;http://netmicroframework.blogspot.com/&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I have started today with this blog and hope I can put some pictures from next week starting &lt;a href="http://www.embedded-world.de/"&gt;Embedded World&lt;/a&gt; here in Nuremberg. Yesterday I have received the &lt;a href="http://netmicroframework.blogspot.com/2009/02/aug-ami-devkit-shipping.html"&gt;AUG AMI Developer Kit&lt;/a&gt; (&lt;a href="http://www.aug-elektronik.at/"&gt;AUG Elektronik GmbH&lt;/a&gt;) with a really great looking OLED display. I will write more about the new device this week.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6924057" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EjyAbbF6C0eAb5qLfcaW36rFomM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EjyAbbF6C0eAb5qLfcaW36rFomM/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/EjyAbbF6C0eAb5qLfcaW36rFomM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EjyAbbF6C0eAb5qLfcaW36rFomM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mschwarz/~4/ft-BmHn7GUQ" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/mschwarz/archive/tags/.NET+Micro+Framework/default.aspx">.NET Micro Framework</category><feedburner:origLink>http://weblogs.asp.net/mschwarz/archive/2009/02/23/moving-net-micro-framework-stuff-to-a-new-blog.aspx</feedburner:origLink></item><item><title>Ajax.NET M! (mobile edition) cancelled</title><link>http://feedproxy.google.com/~r/mschwarz/~3/E58byGeETDE/ajax-net-m-mobile-edition-cancelled.aspx</link><pubDate>Fri, 13 Feb 2009 09:20:44 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6902223</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=6902223</wfw:commentRss><wfw:comment>http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=6902223</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2009/02/13/ajax-net-m-mobile-edition-cancelled.aspx#comments</comments><description>&lt;p&gt;Some months ago I started to implement an Ajax.NET Professional version for .NET Compact and Micro Framework. Some weeks later I decided to build a library with several network related features and I’m now moving the Ajax.NET M! to this new project at CodePlex.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codeplex.com/mschwarztoolkit"&gt;Michael’s Networking Toolkit&lt;/a&gt; provides featrues like a DNS resolver, an HTTP server (AJAX support will be added right now) and &lt;a href="http://www.digi.com/products/wireless/zigbee-mesh/"&gt;XBee&lt;/a&gt; module support (from Digi International).&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6902223" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/f0xTOAAKDoNDgKftego3LKSm9Ok/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/f0xTOAAKDoNDgKftego3LKSm9Ok/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/f0xTOAAKDoNDgKftego3LKSm9Ok/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/f0xTOAAKDoNDgKftego3LKSm9Ok/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mschwarz/~4/E58byGeETDE" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/mschwarz/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/Ajax.NET/default.aspx">Ajax.NET</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/Source+Code/default.aspx">Source Code</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/Mobile/default.aspx">Mobile</category><feedburner:origLink>http://weblogs.asp.net/mschwarz/archive/2009/02/13/ajax-net-m-mobile-edition-cancelled.aspx</feedburner:origLink></item><item><title>Follow me on Twitter</title><link>http://feedproxy.google.com/~r/mschwarz/~3/yfl8mNMdlX4/follow-me-on-twitter.aspx</link><pubDate>Fri, 16 Jan 2009 06:38:36 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6838019</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>6</slash:comments><wfw:commentRss>http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=6838019</wfw:commentRss><wfw:comment>http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=6838019</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2009/01/16/follow-me-on-twitter.aspx#comments</comments><description>&lt;p&gt;A long time ago I registered at Twitter but never posted any message there. But things are changing and I have started using Twitter, now. You’ll find my Twitter feed at &lt;a title="https://twitter.com/mschwarz77en" href="http://twitter.com/mschwarz77en"&gt;&lt;strong&gt;http://twitter.com/mschwarz77en&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&amp;#160;&lt;/strong&gt; ( &lt;a title="http://twitter.com/mschwarz77" href="http://twitter.com/mschwarz77"&gt;http://twitter.com/mschwarz77&lt;/a&gt; is my German one).&lt;/p&gt;  &lt;p&gt;For German readers I have created a German blog at &lt;a href="http://michael-schwarz.blogspot.com/"&gt;http://michael-schwarz.blogspot.com/&lt;/a&gt; where I’m writing about everything I find interesting.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6838019" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/IKzbeaM-x90pKnOZBL5w63HUxv8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IKzbeaM-x90pKnOZBL5w63HUxv8/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/IKzbeaM-x90pKnOZBL5w63HUxv8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IKzbeaM-x90pKnOZBL5w63HUxv8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mschwarz/~4/yfl8mNMdlX4" height="1" width="1"/&gt;</description><feedburner:origLink>http://weblogs.asp.net/mschwarz/archive/2009/01/16/follow-me-on-twitter.aspx</feedburner:origLink></item><item><title>Congratulations 2009 Microsoft MVP!</title><link>http://feedproxy.google.com/~r/mschwarz/~3/3iD2qhIvBDg/congratulations-2009-microsoft-mvp.aspx</link><pubDate>Thu, 01 Jan 2009 22:16:40 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6812420</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>8</slash:comments><wfw:commentRss>http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=6812420</wfw:commentRss><wfw:comment>http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=6812420</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2009/01/01/congratulations-2009-microsoft-mvp.aspx#comments</comments><description>&lt;p&gt;Wishing all a Happy New Year 2009! Today I have received a congratulation mail from Microsoft telling me that I have been nominated another year the &lt;a href="https://mvp.support.microsoft.com/profile/Michael.Schwarz"&gt;Microsoft Most Valuable Professional&lt;/a&gt; (MVP) award in ASP.NET Development. I’m very happy about this mail and my fourth year being a MVP.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.ajaxpro.info/images/blog/Congratulations2009MicrosoftMVP_145FE/MVPLogo.jpg"&gt;&lt;img title="MVPLogo" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="75" alt="MVPLogo" src="http://www.ajaxpro.info/images/blog/Congratulations2009MicrosoftMVP_145FE/MVPLogo_thumb.jpg" width="400" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Dear Michael Schwarz,&lt;/p&gt;    &lt;p&gt;Congratulations! We are pleased to present you with the 2009 Microsoft® MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others.&lt;/p&gt;    &lt;p&gt;The Microsoft MVP Award provides us the unique opportunity to celebrate and honor your significant contributions and say &lt;i&gt;&amp;quot;Thank you for your technical leadership.”&lt;/i&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Thanks to all the developers, community members and friends that have worked together with me. Another great year 2009 is starting right now with Windows 7, Visual Studio 2010, Windows Azure,…&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6812420" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/k2S7-0co4bJzjjeE194krogSP34/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/k2S7-0co4bJzjjeE194krogSP34/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/k2S7-0co4bJzjjeE194krogSP34/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/k2S7-0co4bJzjjeE194krogSP34/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mschwarz/~4/3iD2qhIvBDg" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/mschwarz/archive/tags/ASP.NET/default.aspx">ASP.NET</category><feedburner:origLink>http://weblogs.asp.net/mschwarz/archive/2009/01/01/congratulations-2009-microsoft-mvp.aspx</feedburner:origLink></item><item><title>How to bridge 40 km (or more) with two XBee-PRO 868 modules?</title><link>http://feedproxy.google.com/~r/mschwarz/~3/v1R4FTJ59D4/how-to-bridge-40-km-or-more-with-two-xbee-pro-868-modules.aspx</link><pubDate>Thu, 11 Dec 2008 11:25:10 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6778041</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=6778041</wfw:commentRss><wfw:comment>http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=6778041</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2008/12/11/how-to-bridge-40-km-or-more-with-two-xbee-pro-868-modules.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://www.ajaxpro.info/images/blog/Howtobridge40kmormorewithtwoXBeePRO868mo_AEA1/xbeeproxscrpsma.jpg"&gt;&lt;img title="xbeeproxsc-rpsma" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" height="170" alt="xbeeproxsc-rpsma" src="http://www.ajaxpro.info/images/blog/Howtobridge40kmormorewithtwoXBeePRO868mo_AEA1/xbeeproxscrpsma_thumb.jpg" width="170" align="right" border="0" /&gt;&lt;/a&gt; Since I first used the XBee modules from Digi International I got questions from developers how to get higher ranges. Well, the XBee 802.15.4 modules I’m currently using have a maximum range of nearly 100 m. The XBee-PRO modules that are using 63 mW (+18dBm) power output could reach up to 1 mile (~1.6 km). In Germany you have to limit the XBee-PRO modules to +10dBm because of some restrictions in the 2.4 GHz band, so you loose some meters.&lt;/p&gt;  &lt;p&gt;Digi International now offers the &lt;a href="http://www.digi.com/products/wireless/point-multipoint/xbee-pro-868.jsp"&gt;XBee-PRO 868 modules&lt;/a&gt; which are using the 868 MHz short range device (SRD) GH3 band for Europe. With a dipole antenna you can reach 40 km, using a high gain antenna you should get a signal up to 80 km. The XBee-PRO 868 modules are pin-compatible with the XBee 802.15.4 modules which makes it very easy to choose the modules you need.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;XBee-PRO 868 modules are long range embedded RF modules for European applications. Purpose-built for exceptional RF performance, XBee-PRO 868 modules are ideal for applications with challenging RF environments, such as urban deployments, or where devices are several kilometers apart. The XBee-PRO 868 features:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;868 MHz short range device (SRD) G3 band for Europe &lt;/li&gt;      &lt;li&gt;Software selectable Transmit Power &lt;/li&gt;      &lt;li&gt;40 km RF LOS w/ dipole antennas &lt;/li&gt;      &lt;li&gt;80 km RF LOS w/ high gain antennas (TX Power reduced) &lt;/li&gt;      &lt;li&gt;Simple to use peer-to-peer/point-to-mulitpoint topology &lt;/li&gt;      &lt;li&gt;128-bit AES encryption &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;By deploying this and any XBee device, OEMs are leveraging the value of the XBee product family and Digi's unsurpassed Drop-in Networking offering of gateways, adapters and network extenders. In addition, XBee users can take advantage of platform agility, the ability to rapidly change their XBee solution with minimal development.      &lt;br /&gt;Product summary:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;868 MHz SRD G3 band &lt;/li&gt;      &lt;li&gt;500 mW EIRP &lt;/li&gt;      &lt;li&gt;RPSMA, U.FL, or attached whip antenna options &lt;/li&gt;      &lt;li&gt;24 kbps RF data rate &lt;/li&gt;      &lt;li&gt;Industrial (-40C to +85C) temperature rating &lt;/li&gt;      &lt;li&gt;ETSI Approved &lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;p&gt;I have ordered two &lt;a href="http://www.digi.com/products/model.jsp?lid=EN&amp;amp;pgid=130&amp;amp;pfid=199&amp;amp;mtid=3193&amp;amp;amtid=3193&amp;amp;pm=Y"&gt;development kits&lt;/a&gt; each including two modules and USB/serial boards. Digi has an offer until end of February 2008: $99 USD compared to a single module that costs already between $69 and $72 USD. The kits contains:&lt;/p&gt;  &lt;blockquote&gt;   &lt;li&gt;(1) XBee-PRO 868 w/ RPSMA Connector &lt;/li&gt;    &lt;li&gt;(1) XBee-PRO 868 w/ Wire Whip antenna &lt;/li&gt;    &lt;li&gt;(1) RS-232 Development Boards &lt;/li&gt;    &lt;li&gt;(1) USB Development Board &lt;/li&gt;    &lt;li&gt;(1) RS-232 serial Cable &lt;/li&gt;    &lt;li&gt;(1) USB Cable &lt;/li&gt;    &lt;li&gt;(1) 868 MHz RPSMA Antenna&amp;#160; &lt;/li&gt;    &lt;li&gt;(1) Power Adapter &lt;/li&gt;    &lt;li&gt;(1) 9V Battery &amp;amp; Clip &lt;/li&gt;    &lt;li&gt;Various Adapters &lt;/li&gt; &lt;/blockquote&gt;  &lt;p&gt;My &lt;a href="http://www.codeplex.com/mschwarztoolkit/"&gt;XBee library&lt;/a&gt; will support both modules, of course, and will be released this week.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6778041" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_YbtNVq1eHwoHJpBDzO-cWFk22U/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_YbtNVq1eHwoHJpBDzO-cWFk22U/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/_YbtNVq1eHwoHJpBDzO-cWFk22U/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_YbtNVq1eHwoHJpBDzO-cWFk22U/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mschwarz/~4/v1R4FTJ59D4" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/mschwarz/archive/tags/.NET+Micro+Framework/default.aspx">.NET Micro Framework</category><feedburner:origLink>http://weblogs.asp.net/mschwarz/archive/2008/12/11/how-to-bridge-40-km-or-more-with-two-xbee-pro-868-modules.aspx</feedburner:origLink></item><item><title>AppCmd Migrate Config and Remove HttpModules</title><link>http://feedproxy.google.com/~r/mschwarz/~3/A1SJFpTcYuI/appcmd-migrate-config-and-remove-httpmodules.aspx</link><pubDate>Tue, 18 Nov 2008 15:37:09 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6745328</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=6745328</wfw:commentRss><wfw:comment>http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=6745328</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2008/11/18/appcmd-migrate-config-and-remove-httpmodules.aspx#comments</comments><description>&lt;p&gt;In some of my Web projects I’m using the &lt;em&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/9b9dh535.aspx"&gt;&amp;lt;remove name=”…”/&amp;gt;&lt;/a&gt;&lt;/em&gt; tag in web.config section &lt;em&gt;system.web/httpModules&lt;/em&gt;. When you’re using the &lt;strong&gt;appcmd migrate config&lt;/strong&gt; command not all removed &lt;em&gt;httpModule&lt;/em&gt; configurations are copied to the new section below &lt;em&gt;system.webServer&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Before:&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;system.web&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;httpModules&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;remove&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;PassportAuthentication&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;remove&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Profile&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;remove&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;AnonymousIdentification&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;remove&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;BlockModule&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;httpModules&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;system.web&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&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;&lt;strong&gt;After:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;system.webServer&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;modules&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;remove&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Profile&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;remove&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;AnonymousIdentification&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;modules&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;system.webServer&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&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;Why is &lt;em&gt;PassportAuthentication&lt;/em&gt; and &lt;em&gt;BlockModule&lt;/em&gt; not added to be removed? Well, it is simple to modify your web.config manual, but I would like to know what the difference is.&lt;/p&gt;

&lt;p&gt;If you’re reading my blog you may have noticed &lt;a href="http://weblogs.asp.net/mschwarz/archive/2008/11/07/appcmd-migrate-and-http-error-500-22-things-you-can-try.aspx"&gt;another bug using appcmd&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6745328" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qXmJ8IxZjAHNJWk02R0DR_gRITA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qXmJ8IxZjAHNJWk02R0DR_gRITA/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/qXmJ8IxZjAHNJWk02R0DR_gRITA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qXmJ8IxZjAHNJWk02R0DR_gRITA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mschwarz/~4/A1SJFpTcYuI" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/mschwarz/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/.NET/default.aspx">.NET</category><feedburner:origLink>http://weblogs.asp.net/mschwarz/archive/2008/11/18/appcmd-migrate-config-and-remove-httpmodules.aspx</feedburner:origLink></item><item><title>SmallBasic - A Microsoft DevLabs Project</title><link>http://feedproxy.google.com/~r/mschwarz/~3/-aXNsl3j-C4/smallbasic-a-microsoft-devlabs-project.aspx</link><pubDate>Sun, 16 Nov 2008 19:52:51 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6741714</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=6741714</wfw:commentRss><wfw:comment>http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=6741714</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2008/11/16/smallbasic-a-microsoft-devlabs-project.aspx#comments</comments><description>&lt;p&gt;Not sure if you already heard about &lt;a href="http://msdn.microsoft.com/en-gb/devlabs/cc950524.aspx"&gt;Small Basic&lt;/a&gt;? Small Basic derives its inspiration from the original BASIC programming language.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Small Basic is a project that's aimed at bringing &amp;quot;fun&amp;quot; back to programming. By providing a small and easy to learn programming language in a friendly and inviting development environment, Small Basic makes programming a breeze. Ideal for kids and adults alike, Small Basic helps beginners take the first step into the wonderful world of programming.&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Small Basic derives its inspiration from the original BASIC programming language, and is based on the Microsoft .Net platform. It is really small with just 15 keywords and uses minimal concepts to keep the barrier to entry as low as possible.&lt;/li&gt;      &lt;li&gt;The Small Basic development environment is simple, yet provides powerful modern environment features like Intellisense&amp;#8482; and instant context sensitive help. &lt;/li&gt;      &lt;li&gt;Small Basic allows third-party libraries to be plugged in with ease, making it possible for the community to extend the experience in fun and interesting ways.&lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;p&gt;You can find the &lt;a href="http://msdn.microsoft.com/en-gb/devlabs/cc950524.aspx"&gt;download files for Small Basic&lt;/a&gt; at the &lt;a href="http://msdn.microsoft.com/en-gb/devlabs/default.aspx"&gt;MSDN DevLabs projects&lt;/a&gt; where you can find Microsoft Popfly, Pex and CHESS, too. Read more on the &lt;a href="http://blogs.msdn.com/smallbasic"&gt;Small Basic blog&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6741714" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qbxV5ThbpmHLjDRdjIMZR1fY9Uc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qbxV5ThbpmHLjDRdjIMZR1fY9Uc/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/qbxV5ThbpmHLjDRdjIMZR1fY9Uc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qbxV5ThbpmHLjDRdjIMZR1fY9Uc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mschwarz/~4/-aXNsl3j-C4" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/mschwarz/archive/tags/.NET/default.aspx">.NET</category><feedburner:origLink>http://weblogs.asp.net/mschwarz/archive/2008/11/16/smallbasic-a-microsoft-devlabs-project.aspx</feedburner:origLink></item><item><title>Tahoe-II Development Board now available</title><link>http://feedproxy.google.com/~r/mschwarz/~3/_fG4GImXabA/tahoe-ii-development-board-now-available.aspx</link><pubDate>Sun, 16 Nov 2008 19:45:01 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6741698</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=6741698</wfw:commentRss><wfw:comment>http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=6741698</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2008/11/16/tahoe-ii-development-board-now-available.aspx#comments</comments><description>&lt;p&gt;Device Solutions have announced their &lt;a href="http://devicesolutions.net/Products/TahoeII.aspx"&gt;new Tahoe-II board&lt;/a&gt; some weeks ago and this week the boards are already &lt;a href="http://devicesolutions.net/Distributors.aspx"&gt;available at their distributors&lt;/a&gt; (for all European developers &lt;a href="http://informatix.miloush.net/microframework/Shop.aspx"&gt;Jan&lt;/a&gt; has opened his online shop for the new boards!).&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The Tahoe-II features a 3.5&amp;#8221; touch-screen LCD, wired and wireless networking, USB function for interfacing to PCs, an accelerometer for innovative sensing and user interface applications. When you need to prototype a new device, the Tahoe-II has easy access to an array of expansion options; including serial ports, I2C, SPI and plenty of GPIO. &lt;/p&gt;    &lt;p&gt;The Tahoe-II is built around the Meridian CPU, while features a Freescale i.MXS ARM9 processor, 4Mbytes of Flash, 8Mbytes of RAM. Moving from prototype to production is simple with the Meridian CPU. The Meridian CPU and the .NET Micro Framework are ideal for applications such as; industrial automation, home automation, healthcare, consumer devices, retail point-of-sale, PC peripherals, and automotive applications.&lt;/p&gt;    &lt;p&gt;&lt;a name="630"&gt;&lt;/a&gt;&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;       &lt;p&gt;Meridian CPU (ARM920 @ 100MHz, 4Mbytes Flash, 8Mbytes SDRAM)&lt;/p&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;p&gt;3.5&amp;#8221; Landscape TFT LCD with touch-screen&lt;/p&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;p&gt;9 user input buttons&lt;/p&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;p&gt;RS232 serial (DB9)&lt;/p&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;p&gt;USB Function&lt;/p&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;p&gt;Ethernet&lt;/p&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;p&gt;Accelerometer, with support for event notification including free-fall detection&lt;/p&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;p&gt;SD Card interface&lt;/p&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;p&gt;Temperature sensor and 2x ADC channels&lt;/p&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;p&gt;Interface for XBee wireless module (and additional ADC channels if fitted)&lt;/p&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;p&gt;PWM output&lt;/p&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;p&gt;Expansion connectors that expose GPIO, I2C, SPI and UART signals&lt;/p&gt;     &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;The Tahoe-II will support version 3.0 of the .NET Micro Framework, including a porting kit option for advanced users.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The Tahoe-II board will be my favorite development board in the .NET Micro framework world. It includes nearly every feature that the framework offers. I will do first tests for the XBee wireless module with the &lt;a href="http://www.codeplex.com/mschwarztoolkit/"&gt;new library at CodePlex&lt;/a&gt; hopefully already this week.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6741698" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xs3Tf-p7gi_gpCns8y_9mfgmrKI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xs3Tf-p7gi_gpCns8y_9mfgmrKI/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/xs3Tf-p7gi_gpCns8y_9mfgmrKI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xs3Tf-p7gi_gpCns8y_9mfgmrKI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mschwarz/~4/_fG4GImXabA" height="1" width="1"/&gt;</description><feedburner:origLink>http://weblogs.asp.net/mschwarz/archive/2008/11/16/tahoe-ii-development-board-now-available.aspx</feedburner:origLink></item><item><title>Encrypt your AJAX traffic using Microsoft Silverlight and Ajax.NET Professional</title><link>http://feedproxy.google.com/~r/mschwarz/~3/StsABZM2CYo/encrypt-your-ajax-traffic-using-microsoft-silverlight-and-ajax-net-professional.aspx</link><pubDate>Thu, 13 Nov 2008 15:27:56 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6733294</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=6733294</wfw:commentRss><wfw:comment>http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=6733294</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2008/11/13/encrypt-your-ajax-traffic-using-microsoft-silverlight-and-ajax-net-professional.aspx#comments</comments><description>&lt;p&gt;Some of you maybe remember that I had added some security related features in &lt;a href="http://www.ajaxpro.info/"&gt;Ajax.NET Professional&lt;/a&gt;. It is possible to put an AJAX token or to simple encrypt the data that gets over the lines. With &lt;a href="http://www.silverlight.net/"&gt;Silverlight&lt;/a&gt; we get the System.Security.Cryptography namespace on the client – before it was not very easy to encrypt a string without any plug-in (well, there are some implementations of &lt;a href="http://aam.ugpl.de/?q=node/1060"&gt;Blowfish available in JavaScript&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;I have created a very simple demo that is showing how to implement cryptography in Ajax.NET Professional.&lt;/p&gt;  &lt;p&gt;First we have to create the encryption methods and implement an &lt;em&gt;AjaxSecurityProvider&lt;/em&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; Encrypt(&lt;span class="kwrd"&gt;string&lt;/span&gt; json)
{
    &lt;span class="kwrd"&gt;return&lt;/span&gt; Security.Encrypt(Security.GetHashKey(&lt;span class="str"&gt;&amp;quot;hans&amp;quot;&lt;/span&gt;), json);
}

&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; Decrypt(&lt;span class="kwrd"&gt;string&lt;/span&gt; jsoncrypt)
{
    &lt;span class="kwrd"&gt;return&lt;/span&gt; Security.Decrypt(Security.GetHashKey(&lt;span class="str"&gt;&amp;quot;hans&amp;quot;&lt;/span&gt;), jsoncrypt);
}&lt;/pre&gt;
&lt;/blockquote&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;With Silverlight you’re able to use the html bridge between JavaScript and managed .NET code. You’ll find an &lt;a href="http://silverlight.net/quickstarts/htmlbridge1.aspx#calling_managed_code_from_javascript"&gt;example in the Silverlight Quickstarts&lt;/a&gt;. The Silverlight C# code looks likes this:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; ScriptableManagedType
{
    &lt;span class="rem"&gt;// Note: static methods are not allowed&lt;/span&gt;

    [ScriptableMember]
    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; Encrypt(&lt;span class="kwrd"&gt;string&lt;/span&gt; text)
    {
        &lt;span class="kwrd"&gt;return&lt;/span&gt; Security.Encrypt(Security.GetHashKey(&lt;span class="str"&gt;&amp;quot;hans&amp;quot;&lt;/span&gt;), text);
    }

    [ScriptableMember]
    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; Decrypt(&lt;span class="kwrd"&gt;string&lt;/span&gt; text)
    {
        &lt;span class="kwrd"&gt;return&lt;/span&gt; Security.Decrypt(Security.GetHashKey(&lt;span class="str"&gt;&amp;quot;hans&amp;quot;&lt;/span&gt;), text);
    }
}&lt;/pre&gt;
&lt;/blockquote&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;With the html bridge and some client-side code you’re able to encrypt strings in JavaScript with the help of System.Security. In the &lt;em&gt;AjaxSecurityProvider&lt;/em&gt; created above you have to override the &lt;em&gt;ClientScript&lt;/em&gt; property to let Ajax.NET Professional encrypt the JSON strings using Silverlight:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; ClientScript
{
    get
    {
        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="str"&gt;@&amp;quot;AjaxPro.cryptProvider = {
    encrypt : function(s) {
        var SLPlugin = document.getElementById(&amp;quot;&lt;/span&gt;&lt;span class="str"&gt;&amp;quot;Xaml1&amp;quot;&lt;/span&gt;&lt;span class="str"&gt;&amp;quot;);
        var strOut = SLPlugin.Content.SL_SMT.Encrypt(s);
        return strOut;
    },
    decrypt : function(s) {
        var SLPlugin = document.getElementById(&amp;quot;&lt;/span&gt;&lt;span class="str"&gt;&amp;quot;Xaml1&amp;quot;&lt;/span&gt;&lt;span class="str"&gt;&amp;quot;);
        var strOut = SLPlugin.Content.SL_SMT.Decrypt(s);
        return strOut;
    }
};&amp;quot;&lt;/span&gt;;
    }
}&lt;/pre&gt;
&lt;/blockquote&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;Hey, that’s everything you have to do to add encryption to your Ajax.NET Professional enabled Web sites. There is no source code change needed in your files except of including the Silverlight control.&lt;/p&gt;

&lt;p&gt;Look at the screenshot from &lt;a href="http://www.fiddler2.com/"&gt;Fiddler&lt;/a&gt; using this &lt;a href="http://www.ajaxpro.info/download/AjaxProAndEncryption.zip"&gt;example&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.ajaxpro.info/images/blog/EncryptyourAJAXtrafficus.NETProfessional_E785/image.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="612" alt="image" src="http://www.ajaxpro.info/images/blog/EncryptyourAJAXtrafficus.NETProfessional_E785/image_thumb.png" width="612" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;In my example I’m using “hans” as password which, of course, is not the way it should be implemented later (have in mind that it is very easy to analyze the Silverlight files and use &lt;a href="http://www.red-gate.com/products/reflector/"&gt;.NET Reflector&lt;/a&gt; to get the password there). What could be used is the &lt;em&gt;IsolatedStorage&lt;/em&gt; to enter once the password that you get i.e. by mail when you register first time on the Web site.&lt;/p&gt;

&lt;p&gt;Download the example project &lt;a href="http://www.ajaxpro.info/download/AjaxProAndEncryption.zip"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6733294" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VIbeEZp5rPFYG5V8_GqPAnRgSvU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VIbeEZp5rPFYG5V8_GqPAnRgSvU/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/VIbeEZp5rPFYG5V8_GqPAnRgSvU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VIbeEZp5rPFYG5V8_GqPAnRgSvU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mschwarz/~4/StsABZM2CYo" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/mschwarz/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/Ajax.NET/default.aspx">Ajax.NET</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/Source+Code/default.aspx">Source Code</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/JSON/default.aspx">JSON</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/Silverlight/default.aspx">Silverlight</category><feedburner:origLink>http://weblogs.asp.net/mschwarz/archive/2008/11/13/encrypt-your-ajax-traffic-using-microsoft-silverlight-and-ajax-net-professional.aspx</feedburner:origLink></item><item><title>Windows Media Center as a Silverlight Application</title><link>http://feedproxy.google.com/~r/mschwarz/~3/xFejq57R_jM/windows-media-center-as-a-silverlight-application.aspx</link><pubDate>Thu, 13 Nov 2008 07:39:08 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6732677</guid><dc:creator>Michael Schwarz</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://weblogs.asp.net/mschwarz/rsscomments.aspx?PostID=6732677</wfw:commentRss><wfw:comment>http://weblogs.asp.net/mschwarz/commentapi.aspx?PostID=6732677</wfw:comment><comments>http://weblogs.asp.net/mschwarz/archive/2008/11/13/windows-media-center-as-a-silverlight-application.aspx#comments</comments><description>&lt;p&gt;Yesterday I have noticed that the &lt;a href="http://www.microsoft.com/windows/products/winfamily/mediacenter/default.mspx"&gt;Windows Media Center web site&lt;/a&gt; has added an &lt;a href="http://www.microsoft.com/windows/products/winfamily/mediacenter/demos/windowsmediacenterdemo/default.html"&gt;Silverlight application&lt;/a&gt; that is showing how the Windows Media Center on Windows Vista is working. Hey, I did this with one of the first beta versions of Silverlight, but not as impressive as the demo.&lt;/p&gt;  &lt;p&gt;Well, since Silverlight has streaming support in HD quality I had expected that there is at least one video in the recorded TV section that could be watched, but there isn’t any. When you go to live TV you can see a video running, that’s similar to the recorded TV sessions.&lt;/p&gt;  &lt;p&gt;Microsoft, how cool would it be to have Windows Media Center as a role or feature in Windows Server 2008 (maybe SP1..2 or a feature pack) with an web application that is using Silverlight to get the Windows Media Center application to all of my Windows PCs, Windows Mobile devices (and Macs or S60 mobile phones I don’t have)?&lt;/p&gt;  &lt;p&gt;What do you think about this? Please, think about it as there are more Windows Media Center users waiting for something similar!!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.ajaxpro.info/images/blog/WindowsMediaCenterasaSilverlightApplicat_7994/image.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="640" alt="image" src="http://www.ajaxpro.info/images/blog/WindowsMediaCenterasaSilverlightApplicat_7994/image_thumb.png" width="564" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6732677" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/AutzTjkNmqVaxKmIiGYB5fthO7I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AutzTjkNmqVaxKmIiGYB5fthO7I/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/AutzTjkNmqVaxKmIiGYB5fthO7I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AutzTjkNmqVaxKmIiGYB5fthO7I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/mschwarz/~4/xFejq57R_jM" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/mschwarz/archive/tags/Vista/default.aspx">Vista</category><category domain="http://weblogs.asp.net/mschwarz/archive/tags/Silverlight/default.aspx">Silverlight</category><feedburner:origLink>http://weblogs.asp.net/mschwarz/archive/2008/11/13/windows-media-center-as-a-silverlight-application.aspx</feedburner:origLink></item></channel></rss>
