<?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>this.Pose() as Expert - 3.5</title>
    <link>http://chrison.net/</link>
    <description />
    <language>en-us</language>
    <copyright>Christoph Wille</copyright>
    <lastBuildDate>Tue, 05 Aug 2008 16:43:23 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>christoph.wille@gmail.com</managingEditor>
    <webMaster>christoph.wille@gmail.com</webMaster>
    <item>
      <trackback:ping>http://chrison.net/Trackback.aspx?guid=05d23e24-27a1-4c6d-a6a8-31cd20f8f41a</trackback:ping>
      <pingback:server>http://chrison.net/pingback.aspx</pingback:server>
      <pingback:target>http://chrison.net/PermaLink,guid,05d23e24-27a1-4c6d-a6a8-31cd20f8f41a.aspx</pingback:target>
      <dc:creator>Christoph Wille</dc:creator>
      <wfw:comment>http://chrison.net/CommentView,guid,05d23e24-27a1-4c6d-a6a8-31cd20f8f41a.aspx</wfw:comment>
      <wfw:commentRss>http://chrison.net/SyndicationService.asmx/GetEntryCommentsRss?guid=05d23e24-27a1-4c6d-a6a8-31cd20f8f41a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The MSDN article <a href="http://msdn.microsoft.com/en-us/library/ms734701.aspx">Synchronous
and Asynchronous Operations</a> explains what options are available to you when using
WCF. It even tells me that svcutil.exe has an /async switch. Great!
</p>
        <p>
Now, back to my current home turf, Compact Framework. There is netCFsvcutil.exe, that
comes with the Compact Framework Power Toys 3.5. Guess what? That option isn't available
in this scaled down rendition of svcutil.
</p>
        <p>
Once again Compact Framework makes it so much harder to work productively, and here's
why:
</p>
        <p>
          <a href="http://msdn.microsoft.com/en-us/library/2e08f6yc.aspx">http://msdn.microsoft.com/en-us/library/2e08f6yc.aspx</a>
        </p>
        <p>
Quote: <em>Asynchronous delegates, specifically the BeginInvoke and EndInvoke methods,
are not supported in the .NET Compact Framework.</em></p>
        <p>
Back to the drawing board and the thread pool (most likely).
</p>
        <img width="0" height="0" src="http://chrison.net/aggbug.ashx?id=05d23e24-27a1-4c6d-a6a8-31cd20f8f41a" />
      </body>
      <title>Error: Unrecognized option 'async' specified</title>
      <guid isPermaLink="false">http://chrison.net/PermaLink,guid,05d23e24-27a1-4c6d-a6a8-31cd20f8f41a.aspx</guid>
      <link>http://chrison.net/ErrorUnrecognizedOptionAsyncSpecified.aspx</link>
      <pubDate>Tue, 05 Aug 2008 16:43:23 GMT</pubDate>
      <description>&lt;p&gt;
The MSDN article &lt;a href="http://msdn.microsoft.com/en-us/library/ms734701.aspx"&gt;Synchronous
and Asynchronous Operations&lt;/a&gt; explains what options are available to you when using
WCF. It even tells me that svcutil.exe has an /async switch. Great!
&lt;/p&gt;
&lt;p&gt;
Now, back to my current home turf, Compact Framework. There is netCFsvcutil.exe, that
comes with the Compact Framework Power Toys 3.5. Guess what? That option isn't available
in this scaled down rendition of svcutil.
&lt;/p&gt;
&lt;p&gt;
Once again Compact Framework makes it so much harder to work productively, and here's
why:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/2e08f6yc.aspx"&gt;http://msdn.microsoft.com/en-us/library/2e08f6yc.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Quote: &lt;em&gt;Asynchronous delegates, specifically the BeginInvoke and EndInvoke methods,
are not supported in the .NET Compact Framework.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
Back to the drawing board and the thread pool (most likely).
&lt;/p&gt;
&lt;img width="0" height="0" src="http://chrison.net/aggbug.ashx?id=05d23e24-27a1-4c6d-a6a8-31cd20f8f41a" /&gt;</description>
      <comments>http://chrison.net/CommentView,guid,05d23e24-27a1-4c6d-a6a8-31cd20f8f41a.aspx</comments>
      <category>.NET</category>
      <category>3.5</category>
      <category>Smartphone and PocketPC</category>
    </item>
    <item>
      <trackback:ping>http://chrison.net/Trackback.aspx?guid=d95e8950-a8c7-450f-a9db-4f22704ce70b</trackback:ping>
      <pingback:server>http://chrison.net/pingback.aspx</pingback:server>
      <pingback:target>http://chrison.net/PermaLink,guid,d95e8950-a8c7-450f-a9db-4f22704ce70b.aspx</pingback:target>
      <dc:creator>Christoph Wille</dc:creator>
      <wfw:comment>http://chrison.net/CommentView,guid,d95e8950-a8c7-450f-a9db-4f22704ce70b.aspx</wfw:comment>
      <wfw:commentRss>http://chrison.net/SyndicationService.asmx/GetEntryCommentsRss?guid=d95e8950-a8c7-450f-a9db-4f22704ce70b</wfw:commentRss>
      <slash:comments>11</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://chrison.net/nGalleryTNGUpdate.aspx">I have posted an updated version</a>
        </p>
        <p>
Given my plans to rather sooner than later upgrade my server to IIS7, I am currently
switching all applications to ASP.NET 2.0 in preparation of this move. But there was
nGallery, which I used all over the place when I needed a photo gallery...
</p>
        <p>
Today I decided it was about time to do something about it, and gave converting nGallery
to .NET 2.0 a try (actually all the projects target .NET Framework 3.5). Turns out
it took me roundabout two hours for this whole endeavour. To save everybody else time,
here is my VS2008 solution tree:
</p>
        <p>
          <a href="http://chrison.net/content/binary/nGalleryTNG.zip">nGalleryTNG.zip (2.92
MB)</a>
        </p>
        <p>
What is changed compared to the original nGallery 1.6.1 for ASP.NET 1.1? Here is a
somewhat complete laundry list:
</p>
        <ul>
          <li>
Converted it to a Web Application project 
</li>
          <li>
Placed all third party source code in the ThirdParty folder. That way I can always
change and recompile if necessary. 
</li>
          <li>
Took all static images from the \photos directories and put them into \images. No
more mixing the photo handler &amp; photo cache with the Web site's images. 
</li>
          <li>
The album handler is now being abused in Application_BeginRequest, plus it now uses
RewritePath. Fixes the darn Server.Transfer errors. 
</li>
          <li>
Moved the configuration of nGallery from the data folder to App_Data. Other than that:
no configuration changes.</li>
        </ul>
        <p>
I did not switch to ASP.NET 2.0 master pages, it still uses the old user control approach.
But after all, I only needed it in a working fashion for 2.0+.
</p>
        <p>
Note: I only tested the XML-based storage because that's how I use nGallery. The SQL-storage
has received no testing whatsoever!
</p>
        <p>
Download Web site files only: <a href="http://chrison.net/content/binary/nGalleryTNG_WebSite.zip">nGalleryTNG_WebSite.zip
(924.39 KB)</a></p>
        <img width="0" height="0" src="http://chrison.net/aggbug.ashx?id=d95e8950-a8c7-450f-a9db-4f22704ce70b" />
      </body>
      <title>nGallery Updated For ASP.NET 2.0</title>
      <guid isPermaLink="false">http://chrison.net/PermaLink,guid,d95e8950-a8c7-450f-a9db-4f22704ce70b.aspx</guid>
      <link>http://chrison.net/nGalleryUpdatedForASPNET20.aspx</link>
      <pubDate>Fri, 30 Nov 2007 14:07:36 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://chrison.net/nGalleryTNGUpdate.aspx"&gt;I have posted an updated version&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Given my plans to rather sooner than later upgrade my server to IIS7, I am currently
switching all applications to ASP.NET 2.0 in preparation of this move. But there was
nGallery, which I used all over the place when I needed a photo gallery...
&lt;/p&gt;
&lt;p&gt;
Today I decided it was about time to do something about it, and gave converting nGallery
to .NET 2.0 a try (actually all the projects target .NET Framework 3.5). Turns out
it took me roundabout two hours for this whole endeavour. To save everybody else time,
here is my VS2008 solution tree:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://chrison.net/content/binary/nGalleryTNG.zip"&gt;nGalleryTNG.zip (2.92
MB)&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
What is changed compared to the original nGallery 1.6.1 for ASP.NET 1.1? Here is a
somewhat complete laundry list:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Converted it to a Web Application project 
&lt;li&gt;
Placed all third party source code in the ThirdParty folder. That way I can always
change and recompile if necessary. 
&lt;li&gt;
Took all static images from the \photos directories and put them into \images. No
more mixing the photo handler &amp;amp; photo cache with the Web site's images. 
&lt;li&gt;
The album handler is now being abused in Application_BeginRequest, plus it now uses
RewritePath. Fixes the darn Server.Transfer errors. 
&lt;li&gt;
Moved the configuration of nGallery from the data folder to App_Data. Other than that:
no configuration changes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
I did not switch to ASP.NET 2.0 master pages, it still uses the old user control approach.
But after all, I only needed it in a working fashion for 2.0+.
&lt;/p&gt;
&lt;p&gt;
Note: I only tested the XML-based storage because that's how I use nGallery. The SQL-storage
has received no testing whatsoever!
&lt;/p&gt;
&lt;p&gt;
Download Web site files only: &lt;a href="http://chrison.net/content/binary/nGalleryTNG_WebSite.zip"&gt;nGalleryTNG_WebSite.zip
(924.39 KB)&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://chrison.net/aggbug.ashx?id=d95e8950-a8c7-450f-a9db-4f22704ce70b" /&gt;</description>
      <comments>http://chrison.net/CommentView,guid,d95e8950-a8c7-450f-a9db-4f22704ce70b.aspx</comments>
      <category>2 Ohhhh</category>
      <category>3.5</category>
      <category>ASP.NET</category>
      <category>Use the source Luke</category>
    </item>
    <item>
      <trackback:ping>http://chrison.net/Trackback.aspx?guid=93b1e18f-b3ad-4371-b06b-6cd580f46b62</trackback:ping>
      <pingback:server>http://chrison.net/pingback.aspx</pingback:server>
      <pingback:target>http://chrison.net/PermaLink,guid,93b1e18f-b3ad-4371-b06b-6cd580f46b62.aspx</pingback:target>
      <dc:creator>Christoph Wille</dc:creator>
      <wfw:comment>http://chrison.net/CommentView,guid,93b1e18f-b3ad-4371-b06b-6cd580f46b62.aspx</wfw:comment>
      <wfw:commentRss>http://chrison.net/SyndicationService.asmx/GetEntryCommentsRss?guid=93b1e18f-b3ad-4371-b06b-6cd580f46b62</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I posted a version of the <a href="http://chrison.net/ReallySimpleGuestbookWithXLinq.aspx">Really
Simple Guestbook - With XLinq</a> for Orcas Beta 2 earlier on this blog. Today, I
updated this small application for VS2008 RTM. The following changes are incorporated:
</p>
        <ul>
          <li>
It is now a Web project, no longer file system based 
</li>
          <li>
It includes <a href="http://codeplex.com/aip">AIP</a> for form spam protection (aka
captcha)</li>
        </ul>
        <p>
I decided to not include the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=EFB9C819-53FF-4F82-BFAF-E11625130C25&amp;displaylang=en">Microsoft
Anti-Cross Site Scripting Library V1.5</a>, that is up to the reader if additional
security is required (note: you'd have to add this to AddEntry.aspx's logic of inserting
new guestbook entries).
</p>
        <p>
Download: <a href="http://chrison.net/content/binary/XlinqGuestbook.zip">XlinqGuestbook.zip
(165.53 KB)</a>, License: BSD
</p>
        <img width="0" height="0" src="http://chrison.net/aggbug.ashx?id=93b1e18f-b3ad-4371-b06b-6cd580f46b62" />
      </body>
      <title>Xlinq Guestbook for VS 2008 RTM</title>
      <guid isPermaLink="false">http://chrison.net/PermaLink,guid,93b1e18f-b3ad-4371-b06b-6cd580f46b62.aspx</guid>
      <link>http://chrison.net/XlinqGuestbookForVS2008RTM.aspx</link>
      <pubDate>Fri, 30 Nov 2007 08:55:46 GMT</pubDate>
      <description>&lt;p&gt;
I posted a version of the&amp;nbsp;&lt;a href="http://chrison.net/ReallySimpleGuestbookWithXLinq.aspx"&gt;Really
Simple Guestbook - With XLinq&lt;/a&gt; for Orcas Beta 2 earlier on this blog. Today, I
updated this small application for VS2008 RTM. The following changes are incorporated:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
It is now a Web project, no longer file system based 
&lt;li&gt;
It includes &lt;a href="http://codeplex.com/aip"&gt;AIP&lt;/a&gt; for form spam protection (aka
captcha)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
I decided&amp;nbsp;to not include&amp;nbsp;the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=EFB9C819-53FF-4F82-BFAF-E11625130C25&amp;amp;displaylang=en"&gt;Microsoft
Anti-Cross Site Scripting Library V1.5&lt;/a&gt;, that is up to the reader if additional
security is required (note: you'd have to add this to AddEntry.aspx's logic of inserting
new guestbook entries).
&lt;/p&gt;
&lt;p&gt;
Download: &lt;a href="http://chrison.net/content/binary/XlinqGuestbook.zip"&gt;XlinqGuestbook.zip
(165.53 KB)&lt;/a&gt;, License: BSD
&lt;/p&gt;
&lt;img width="0" height="0" src="http://chrison.net/aggbug.ashx?id=93b1e18f-b3ad-4371-b06b-6cd580f46b62" /&gt;</description>
      <comments>http://chrison.net/CommentView,guid,93b1e18f-b3ad-4371-b06b-6cd580f46b62.aspx</comments>
      <category>.NET</category>
      <category>3.5</category>
      <category>ASP.NET</category>
    </item>
    <item>
      <trackback:ping>http://chrison.net/Trackback.aspx?guid=14b40c9f-d317-4204-861e-ded1262fac16</trackback:ping>
      <pingback:server>http://chrison.net/pingback.aspx</pingback:server>
      <pingback:target>http://chrison.net/PermaLink,guid,14b40c9f-d317-4204-861e-ded1262fac16.aspx</pingback:target>
      <dc:creator>Christoph Wille</dc:creator>
      <wfw:comment>http://chrison.net/CommentView,guid,14b40c9f-d317-4204-861e-ded1262fac16.aspx</wfw:comment>
      <wfw:commentRss>http://chrison.net/SyndicationService.asmx/GetEntryCommentsRss?guid=14b40c9f-d317-4204-861e-ded1262fac16</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I updated the <a href="http://www.codeplex.com/TFSCCPolicy">TFS Code Comment Checking
Policy</a> so that it works with VSTS 20008 RTM. The <a href="https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=TFSCCPolicy&amp;ReleaseId=8716">downloaded
labeled as Beta 1</a> comes with the well-known setup, the changes to the August test
version are only minimal: the parser has been updated (to better support C# 3.0),
and all projects now target .NET Framework 3.5.
</p>
        <p>
Please use the <a href="http://www.codeplex.com/TFSCCPolicy/Thread/List.aspx">discussions</a> to
report any issues you find.
</p>
        <img width="0" height="0" src="http://chrison.net/aggbug.ashx?id=14b40c9f-d317-4204-861e-ded1262fac16" />
      </body>
      <title>CCCP 3 Beta 1 (VSTS 2008 RTM Compatible)</title>
      <guid isPermaLink="false">http://chrison.net/PermaLink,guid,14b40c9f-d317-4204-861e-ded1262fac16.aspx</guid>
      <link>http://chrison.net/CCCP3Beta1VSTS2008RTMCompatible.aspx</link>
      <pubDate>Thu, 29 Nov 2007 10:44:23 GMT</pubDate>
      <description>&lt;p&gt;
I updated the &lt;a href="http://www.codeplex.com/TFSCCPolicy"&gt;TFS Code Comment Checking
Policy&lt;/a&gt; so that it works with VSTS 20008 RTM. The &lt;a href="https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=TFSCCPolicy&amp;amp;ReleaseId=8716"&gt;downloaded
labeled as Beta 1&lt;/a&gt; comes with the well-known setup, the changes to the August test
version are only minimal: the parser has been updated (to better support C# 3.0),
and all projects now target .NET Framework 3.5.
&lt;/p&gt;
&lt;p&gt;
Please use the &lt;a href="http://www.codeplex.com/TFSCCPolicy/Thread/List.aspx"&gt;discussions&lt;/a&gt; to
report any issues you find.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://chrison.net/aggbug.ashx?id=14b40c9f-d317-4204-861e-ded1262fac16" /&gt;</description>
      <comments>http://chrison.net/CommentView,guid,14b40c9f-d317-4204-861e-ded1262fac16.aspx</comments>
      <category>.NET</category>
      <category>3.5</category>
      <category>Team System</category>
      <category>Visual Studio</category>
    </item>
    <item>
      <trackback:ping>http://chrison.net/Trackback.aspx?guid=25ec2ef9-d32e-40ac-a496-a79b16abaab7</trackback:ping>
      <pingback:server>http://chrison.net/pingback.aspx</pingback:server>
      <pingback:target>http://chrison.net/PermaLink,guid,25ec2ef9-d32e-40ac-a496-a79b16abaab7.aspx</pingback:target>
      <dc:creator>Christoph Wille</dc:creator>
      <wfw:comment>http://chrison.net/CommentView,guid,25ec2ef9-d32e-40ac-a496-a79b16abaab7.aspx</wfw:comment>
      <wfw:commentRss>http://chrison.net/SyndicationService.asmx/GetEntryCommentsRss?guid=25ec2ef9-d32e-40ac-a496-a79b16abaab7</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Been on holidays, at conferences (eg last week Ask The Experts @ XTOPIA in Berlin),
and worked on various projects - a couple of reasons it was rather quiet lately in
this blog.
</p>
        <p>
Yesterday I decided I needed a simple guestbook application for a to-be-developed
private Web site, and because I didn't find anything that fit my needs I decided to
write one myself with the goal of (ab)using XLinq in the course of this endeavour:
</p>
        <p>
          <a href="http://chrison.net/content/binary/Guestbook_XLINQ.zip">Guestbook_XLINQ.zip
(7.09 KB)</a>
        </p>
        <p>
Caveat emptor: I am no designer (surprise!). But thanks to no design it should be
easy for you to add your own design. However, as <a href="http://msdn.microsoft.com/msdnmag/issues/07/09/">this
month's MSDN magazine is all about security</a>, I decided to make the application
production-ready security-wise. You'll find a lot of parsing plus XSRF protection
(note: this version does not check for integer overflow in calculating the start row).
</p>
        <p>
Missing features: this guestbook is not prepared for localization, nor does it use
a control-based approach (where you drop those in your pages and get an in-place guestbook).
</p>
        <p>
          <strong>Update</strong> a version of this application for VS2008 RTM is available <a href="http://chrison.net/XlinqGuestbookForVS2008RTM.aspx">here</a>.
</p>
        <img width="0" height="0" src="http://chrison.net/aggbug.ashx?id=25ec2ef9-d32e-40ac-a496-a79b16abaab7" />
      </body>
      <title>Really Simple Guestbook - With XLinq</title>
      <guid isPermaLink="false">http://chrison.net/PermaLink,guid,25ec2ef9-d32e-40ac-a496-a79b16abaab7.aspx</guid>
      <link>http://chrison.net/ReallySimpleGuestbookWithXLinq.aspx</link>
      <pubDate>Mon, 15 Oct 2007 07:56:36 GMT</pubDate>
      <description>&lt;p&gt;
Been on holidays, at conferences (eg last week Ask The Experts @ XTOPIA in Berlin),
and worked on various projects - a couple of reasons it was rather quiet lately in
this blog.
&lt;/p&gt;
&lt;p&gt;
Yesterday I decided&amp;nbsp;I needed a simple guestbook application for a to-be-developed
private Web site, and because I didn't find anything that fit my needs I decided to
write one myself with the goal of (ab)using XLinq in the course of this endeavour:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://chrison.net/content/binary/Guestbook_XLINQ.zip"&gt;Guestbook_XLINQ.zip
(7.09 KB)&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Caveat emptor: I am no designer (surprise!). But thanks to no design it should be
easy for you to add your own design. However, as &lt;a href="http://msdn.microsoft.com/msdnmag/issues/07/09/"&gt;this
month's MSDN magazine is all about security&lt;/a&gt;, I decided to make the application
production-ready security-wise. You'll find a lot of parsing plus XSRF protection
(note: this version does not check for integer overflow in calculating the start row).
&lt;/p&gt;
&lt;p&gt;
Missing features: this guestbook is not prepared for localization, nor does it use
a control-based approach (where you drop those in your pages and get an in-place&amp;nbsp;guestbook).
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Update&lt;/strong&gt; a version of this application for VS2008 RTM is available &lt;a href="http://chrison.net/XlinqGuestbookForVS2008RTM.aspx"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://chrison.net/aggbug.ashx?id=25ec2ef9-d32e-40ac-a496-a79b16abaab7" /&gt;</description>
      <comments>http://chrison.net/CommentView,guid,25ec2ef9-d32e-40ac-a496-a79b16abaab7.aspx</comments>
      <category>3.5</category>
      <category>ASP.NET</category>
      <category>Security</category>
      <category>Use the source Luke</category>
    </item>
  </channel>
</rss>