<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://bloggingabout.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" 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:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"><channel><title>BloggingAbout.NET</title><link>http://bloggingabout.net/blogs/</link><description>Thoughts of developers</description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>BizTalk 2006 R2 SP1 alters the disassembling behaviour of a Receive pipeline !</title><link>http://bloggingabout.net/blogs/wellink/archive/2010/03/19/biztalk-2006-r2-sp1-alters-the-disassembling-behaviour-of-a-receive-pipeline.aspx</link><pubDate>Fri, 19 Mar 2010 21:44:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:483011</guid><dc:creator>Patrick Wellink</dc:creator><slash:comments>0</slash:comments><description>In my previous post I mentioned i noticed a change in the disassembling behaviour of BizTalk Server 2006 R2 after installing SP 1. After I got home after work I sat down and looked somewhere on my harddisk for an old version of a BizTalk 2006 Virtual PC. After a while I found one that was approximately one and a half year untouched. So I sat down and Fired it up... First get all the updates that have been since then, geeeeeez there have been many, I had about 80 of them and i completely forgot that...(&lt;a href="http://bloggingabout.net/blogs/wellink/archive/2010/03/19/biztalk-2006-r2-sp1-alters-the-disassembling-behaviour-of-a-receive-pipeline.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=483011" width="1" height="1"&gt;</description><enclosure url="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Components.PostAttachments/00.00.48.30.11/Service-Pack-Test.zip" length="70270" type="application/x-zip-compressed" /><category domain="http://bloggingabout.net/blogs/wellink/archive/tags/BizTalk+2006+R2+SP+1/default.aspx">BizTalk 2006 R2 SP 1</category></item><item><title>Bug within the SharePoint Search when using fine-grained permissions</title><link>http://bloggingabout.net/blogs/bas/archive/2010/03/19/bug-within-the-sharepoint-search-when-using-fine-grained-permissions.aspx</link><pubDate>Fri, 19 Mar 2010 18:52:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:483010</guid><dc:creator>Bas</dc:creator><slash:comments>0</slash:comments><description>Recently we accidentally discovered a bug within the SharePoint Search. To aggregate news from certain locations, we use the SharePoint search to query and display items based on user profile settings. This has always worked the right way: both the incremental crawl and the full crawl indexed all items. Within 10 minutes when a new item was published, it was visible within our aggregation page. This changed after we applied the cumulative update of december (If I am correctly). For some reason no...(&lt;a href="http://bloggingabout.net/blogs/bas/archive/2010/03/19/bug-within-the-sharepoint-search-when-using-fine-grained-permissions.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=483010" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/bas/archive/tags/Permissions/default.aspx">Permissions</category><category domain="http://bloggingabout.net/blogs/bas/archive/tags/Search/default.aspx">Search</category></item><item><title>BizTalk 2006 R2 SP1 -&gt; Something changed in disassembling pipelines !</title><link>http://bloggingabout.net/blogs/wellink/archive/2010/03/19/biztalk-2006-r2-sp1-gt-something-changed-in-disassembling-pipelines.aspx</link><pubDate>Fri, 19 Mar 2010 15:11:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:483009</guid><dc:creator>Patrick Wellink</dc:creator><slash:comments>1</slash:comments><description>Although I am still investigating this item i thought it would be nice to share it as soon as i find out something went wrong. I have a very simple schema that returns data from the SQL adapter. I deployed an envelope schema and a schema that resembles the payload. Everything was working fine until I deployed SP1 to my developement server. Now all of a sudden I see stuff like this in the eventlog : Event Type: Error Event Source: BizTalk Server 2006 Event Category: BizTalk Server 2006 Event ID: 5753...(&lt;a href="http://bloggingabout.net/blogs/wellink/archive/2010/03/19/biztalk-2006-r2-sp1-gt-something-changed-in-disassembling-pipelines.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=483009" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/wellink/archive/tags/BIzTalk+2006+R2+SP1/default.aspx">BIzTalk 2006 R2 SP1</category></item><item><title>MIX 2010 Keynote coverage</title><link>http://bloggingabout.net/blogs/dennis/archive/2010/03/15/mix-2010-keynote-coverage.aspx</link><pubDate>Mon, 15 Mar 2010 19:01:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482980</guid><dc:creator>Dennis van der Stelt</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Remark : For some reason it doesn&amp;rsquo;t want to upload images anymore, I&amp;rsquo;ll have a look at it later!&lt;/p&gt;
&lt;p&gt;This post will be used right now to give live coverage of the MIX10 keynote. My wife bring my meal when keynote is half way through and I have a beer at hand and watching some young dude doing magic with a yoyo! :-) I&amp;rsquo;m good to go!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;17:10&lt;/strong&gt; Cool is that you can even get subtitles for if you&amp;rsquo;re hearing impared! Press the &amp;ldquo;cc&amp;rdquo; button to see it!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;17:11&lt;/strong&gt; Scott Guthrie is coming up! No &amp;ldquo;TheGu&amp;rdquo; intro-video this time! :)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;17:17&lt;/strong&gt; You can get the Olympics media framework with code at &lt;a href="http://smf.codeplex.com/"&gt;http://smf.codeplex.com/&lt;/a&gt;. Silverlight will support Fullscreen viewing on a single screen while working on another one. Sweet!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;17:21&lt;/strong&gt; Blend 4 will be out this week and you get a free upgrade if you have version 3.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;17:23&lt;/strong&gt; eBay will use Silverlight to be able to install their tool easily onto the desktop with Silverlight&amp;rsquo;s OOB ability. You can sell items through this tool and add information using your webcam to scan the barcode! It has also has the ability to drag &amp;amp; drop pictures onto the application. Silverlight really seems the way to go for a lot of your applications! They&amp;rsquo;re also showing a great sketchflow example of the application in the last image!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;17:34 &lt;/strong&gt;Silverlight 4 RC is &lt;a href="http://silverlight.net/getstarted/silverlight-4/"&gt;available for download now&lt;/a&gt;! Get &lt;a href="http://team.silverlight.net/announcement/start-preparing-for-the-silverlight-pivot-control-now/"&gt;started here&lt;/a&gt; with the Pivot control.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;18:00&lt;/strong&gt; Scott Guthrie is showing Visual Studio 2010 development for Windows Phone 7 with Silverlight. So far the designing and development &lt;strong&gt;&lt;em&gt;and&lt;/em&gt;&lt;/strong&gt; deployment to the WP7 emulator is extremely fast, especially compared to .NET Compact Framework development.&lt;/p&gt;
&lt;p&gt;First image shows the initial Windows Phone project with the VS2010 Silverlight designer. Second image shows Scott Guthrie editing his form, whereas he&amp;rsquo;s running it inside a Windows Phone emulator, debugging from Visual Studio 2010. The last shows his final application, retrieving his last tweets from Twitter, using a web request and filtering it with LINQ to XML.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;18:24 &lt;/strong&gt;On the MIX10 site you can get minor details about free tools for Windows Phone developers!&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Visual Studio 2010 Express for Windows Phone &lt;/li&gt;
&lt;li&gt;Windows Phone 7 Series add-in to use with Visual Studio 2010 RC1 &lt;/li&gt;
&lt;li&gt;XNA Game Studio 4.0 &lt;/li&gt;
&lt;li&gt;Windows Phone 7 Series Emulator for application testing &lt;/li&gt;
&lt;li&gt;Expression Blend for Windows Phone CTP (free only for CTP most likely! :) &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;18:25 &lt;/strong&gt;Netflix application build in Silverlight for Winodws Phone 7 is shown. Smooth videos instantly over 3G!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;18:30 &lt;/strong&gt;Great DeepZoom demo using Marvel comics, flicking through pages and zooming into the pages and specific images.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;18:33 &lt;/strong&gt;Laura Foy is showing FourSquare on Windows Phone 7&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;18:38&lt;/strong&gt; This is almost an iPhone&amp;hellip; I guess! :) Shazaam on Windows Phone 7 by Jeff Sandquist!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;18:39 &lt;/strong&gt;Charlie Kindel on stage, th&amp;eacute; Windows Phone guy! And he&amp;rsquo;s a soccer fan?! #fail :)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;18:42&lt;/strong&gt; Loic Le Meur from Seesmic is showing the Silverlight client on both the desktop and Windows Phone.&lt;/p&gt;
&lt;p align="left"&gt;&lt;strong&gt;18:46&lt;/strong&gt; Code4Fun is showing network communication with a Tank shooting red shirts into the audience&lt;/p&gt;
&lt;p align="left"&gt;&lt;strong&gt;18:52 &lt;/strong&gt;Larry Hryb aka Major Nelson showing of XNA on Windows Phone 7. Images below are from debug mode in VS2010!&lt;/p&gt;
&lt;p&gt;Okay, so the first Mix 2010 keynote is over and they did not reveal much NEW information. It&amp;rsquo;s nice to see Windows Phone Silverlight finally arrive, as I was at MIX07 and saw the first light of Silverlight for Windows Mobile that was never released. Hope we can get our hands on all the Phone bits really soon and start developing for it. And more importantly, have it on our own Windows Phone hardware!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482980" width="1" height="1"&gt;</description></item><item><title>InvalidOperationException with Load testing WCF services using VSTS</title><link>http://bloggingabout.net/blogs/jpsmit/archive/2010/03/12/invalidoperationexception-with-load-testing-wcf-services-using-vsts.aspx</link><pubDate>Fri, 12 Mar 2010 22:17:25 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482965</guid><dc:creator>Jean-Paul Smit</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;This is actually a blog post to share my problems with setting up a simple load test for WCF service testing with Visual Studio Team System 2008 Test Edition.&lt;/p&gt;  &lt;p&gt;It looks very simple and it is very simple, if you know the trick.&lt;/p&gt;  &lt;p&gt;Just for information purposes I tried to setup a load test for a very simple WCF service. It was a service running in IIS and a unit test project calling it. The unit test I wrote worked just fine, so I thought I could use that for the load test.&lt;/p&gt;  &lt;p&gt;I added a new Test item and ran the wizard. So far so good. The first thing that went wrong when I tried to run the load test was that the Load Test database was missing. So I had to create the Load Test Results Repository myself. How to do that is described &lt;a href="http://msdn.microsoft.com/en-us/library/ms182600.aspx" target="_blank"&gt;here&lt;/a&gt;, but it actually is nothing more than to run a SQL script. If the repository is created, set the connection string in the ‘Administer Test Controller’ menu.&lt;/p&gt;  &lt;p&gt;Ready for the second try, but it failed again with the following error:&lt;/p&gt;  &lt;p&gt;“&lt;em&gt;System.InvalidOperationException: Could not find default endpoint element that references contract….&lt;/em&gt;”&lt;/p&gt;  &lt;p&gt;It was clear that the load test couldn’t find the WCF client configuration somehow. After quite some searching I finally found &lt;a href="http://blogs.msdn.com/anibakore/archive/2009/07/09/taking-advantage-of-vsts-load-testing-for-wcf-services.aspx" target="_blank"&gt;this&lt;/a&gt; document with the solution.&lt;/p&gt;  &lt;p&gt;When you create a new load test, the “Run unit tests in application domain” setting is false by default, however it should be true in my situation.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpsmit.metablogapi/3821.runsettings21_5F00_78DDD560.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="runsettings2[1]" border="0" alt="runsettings2[1]" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpsmit.metablogapi/8204.runsettings21_5F00_thumb_5F00_4B7C3F90.png" width="340" height="231" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Like with most issues, once you know what term to search for it appears to be described fairly well. This quote is from &lt;a href="http://blogs.msdn.com/billbar/pages/features-and-behavior-of-load-tests-containing-unit-tests-in-vsts-2008.aspx" target="_blank"&gt;this blog&lt;/a&gt;, specifying what this setting is doing:&lt;/p&gt;  &lt;p&gt;“&lt;em&gt;When a unit test is run by itself, a separate application domain is created in the test process for each unit test assembly. There is some overhead associated with marshalling tests and test results across the application domain boundary, so when running unit tests in a load test, the application domain is not created by default. This provides some performance boost in terms of the number of tests per second that the test process can execute before running out of CPU. The only drawback is that if the unit test depends on an app.config file, this doesn’t work without creating the app domain. In this case, you can enable the creation of app domain for the unit tests: in the Load Test editor’s Run Setting’s properties set the property “Run unit tests in application domain” to True.&lt;/em&gt;”&lt;/p&gt;  &lt;p&gt;So after I set the setting to true, everything went smoothly and I must say that load testing is then very easy and cool to do.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482965" width="1" height="1"&gt;</description></item><item><title>Update IBM WebSphere MQ WCF post</title><link>http://bloggingabout.net/blogs/gerben/archive/2010/03/12/update-ibm-websphere-mq-wcf-post.aspx</link><pubDate>Fri, 12 Mar 2010 16:32:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482963</guid><dc:creator>Gerben van Loon</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Updated the post: &lt;a href="http://bloggingabout.net/blogs/gerben/archive/2010/02/25/ibm-websphere-mq-wcf-channels.aspx"&gt;http://bloggingabout.net/blogs/gerben/archive/2010/02/25/ibm-websphere-mq-wcf-channels.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;New findings are that Microsoft is planning a WAS listener for IIS7 for their channel. Update for the IBM one is that they&amp;#39;re relying on JMS messages under the covers.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482963" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/gerben/archive/tags/WCF/default.aspx">WCF</category></item><item><title>First look at NDepend 3.0</title><link>http://bloggingabout.net/blogs/vagif/archive/2010/03/11/first-look-at-ndepend-3-0.aspx</link><pubDate>Thu, 11 Mar 2010 22:20:46 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482956</guid><dc:creator>Vagif Abilov</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I installed to today the latest version of &lt;a href="http://www.ndepend.com/" target="_blank"&gt;NDepend&lt;/a&gt; and gave it a try. &lt;a href="http://bloggingabout.net/blogs/vagif/archive/2009/08/11/improving-code-quality-using-ndepend.aspx" target="_blank"&gt;Last time I blogged about NDepend&lt;/a&gt;, I used it on a small solution, and while the generated report was full of useful information, I did not use the product at full strength, because as it’s name suggests, NDepend is about analyzing dependencies, and my solution was too small for interesting observations. This time I plan to analyze a large solution consisting of all of our projects with an exception of a Web administration projects that are not so interesting for such analysis. The solution file was generated using a utility &lt;a href="http://bloggingabout.net/blogs/vagif/archive/2009/12/03/utility-to-generate-solution-files-can-now-create-solution-folders.aspx" target="_blank"&gt;described earlier&lt;/a&gt; and contains 140 projects. I never worked with such large solutions (usually I group projects in much smaller solutions), so I was a bit uncertain about how long it will take to load on my Dell D830 notebook. But it started up relatively quickly.&lt;/p&gt;  &lt;p&gt;The biggest news about NDepend 3.0 is that it is now fully integrated into Visual Studio development environment. So now all its menus and windows are parts of development session, and windows of course can be docked. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/8712.NDepend10_5F00_7015AC5A.png"&gt;&lt;img title="NDepend10" style="border-right:0px;border-top:0px;display:inline;border-left:0px;border-bottom:0px;" height="475" alt="NDepend10" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/2117.NDepend10_5F00_thumb_5F00_3862F22A.png" width="758" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The very first impression from NDepend: it’s fast, blazingly fast. As you can see from the summary below, it used only 18 seconds to analyze 1188 source files in 140 projects of my solutions: 15 milliseconds on each file.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/2860.NDepend02_5F00_213777AC.png"&gt;&lt;img title="NDepend02" style="border-right:0px;border-top:0px;display:inline;border-left:0px;border-bottom:0px;" height="644" alt="NDepend02" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/6278.NDepend02_5F00_thumb_5F00_5C8ADD6A.png" width="618" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;So these are the metrics for my large solution, though I disagree with one detail: the report states that the solution has only 1 attribute class. Yes, it has only one class with .NET Attribute as its immediate parent, but there are several other classes that derive from Attribute, but not directly. One class derives from TypeMock.DecoratorAttribute that inherits from Attritbute. In addition there are several classes inheriting from PostSharp.Laos.OnMethodBoundaryAspect, and walking its inheritance tree brings us to MulticastAttribute that inherits from Attribute. I believe all such classes should be classified as attribute classes (since this is how they are used).&lt;/p&gt;  &lt;p&gt;Enough with class attributes. I browsed the report and noticed that I’d like to change a few metrics’ parameters right away. For example, a list of too long type names included all types with names longer than 35 characters. While this seems to be a reasonable limit, some exclusions from such rule can also be reasonable. The top 10 entires in this list ended with either “Exception”, “Preset”, “Response” or “Request”. “Preset” is a suffix for a special category of classes that we use in tests, “Response”/”Request” are used in Web service communication, and “Exception” is of course a suffix for exceptions. I want to see classes with “really” long names, so how do I exclude these special classes from the rule?&lt;/p&gt;  &lt;p&gt;It appeared to be very easy. I displayed a CQL Query Explorer and double-clicked on the rule. NDepend displayed a CQL Query Edit window, and it was obvious what I had to do to customize the rule. Below is an updated query:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/1004.NDepend04_5F00_5EC76626.png"&gt;&lt;img title="NDepend04" style="border-right:0px;border-top:0px;display:inline;border-left:0px;border-bottom:0px;" height="336" alt="NDepend04" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/3107.NDepend04_5F00_thumb_5F00_5A50E55F.png" width="500" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The simplicity of rule customization encouraged me to start inspecting other report’s details. One of the most important ones was the list of methods to refactor. And it also had to be customized. Because this is what I saw:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/4401.NDepend05_5F00_19AE98F0.png"&gt;&lt;img title="NDepend05" style="border-right:0px;border-top:0px;display:inline;border-left:0px;border-bottom:0px;" height="344" alt="NDepend05" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/4721.NDepend05_5F00_thumb_5F00_49D87464.png" width="837" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Firstly, I think the table will look more informative if it highlights the figures that violates the metrics. Otherwise you have to browse every column and compare its data with the values from the respective CQL query. But what deserves customization is that the top of the list is occupied by class constructors with number of parameters exceeding recommended maximum (5). Should an exception be made for constructors? I believe it should, at least these days, when developers tend to use IoC containers and compose large applications with constructor injection. But how do I specify constructor exclusion? Luckily, I didn’t even have to browse NDepend online documentation - NDepend supports intellisense.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/8875.NDepend08_5F00_52C806A3.png"&gt;&lt;img title="NDepend08" style="border-right:0px;border-top:0px;display:inline;border-left:0px;border-bottom:0px;" height="305" alt="NDepend08" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/0143.NDepend08_5F00_thumb_5F00_674D5621.png" width="507" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Exclusion constructors from the query resulted in much more interesting list of methods (below). They are candidates for refactoring for different reasons: number of lines, number of IL instructions, netsing deptsh, number of variables, etc. Again, I would appreciate if offending figures were highlighted.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/1830.NDepend07_5F00_0285AF23.png"&gt;&lt;img title="NDepend07" style="border-right:0px;border-top:0px;display:inline;border-left:0px;border-bottom:0px;" height="646" alt="NDepend07" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/0333.NDepend07_5F00_thumb_5F00_4FB5A8AE.png" width="765" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;It took me just minutes to apply these customizations, and what’s most encouraging is that I did not have to read anything about what these metrics are and how to adjust them to fit my needs: everything is intuitive, with additional explanation text shown along the queries and reports. I need more time to interpret metrics&amp;#160; and diagrams related to dependencies – the solution is too big to give a simple picture. I leave it to a second look. To be continued…&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482956" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/vagif/archive/tags/NDepend/default.aspx">NDepend</category><category domain="http://bloggingabout.net/blogs/vagif/archive/tags/Solution/default.aspx">Solution</category><category domain="http://bloggingabout.net/blogs/vagif/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>Using “yield” to enumerate endless sequence</title><link>http://bloggingabout.net/blogs/vagif/archive/2010/03/11/using-yield-to-traverse-endless-sequence.aspx</link><pubDate>Thu, 11 Mar 2010 09:41:09 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482955</guid><dc:creator>Vagif Abilov</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Craig Andera in &lt;a href="http://www.pluralsight-training.net/community/blogs/craig/archive/2010/03/10/creating-a-lazy-enumeration-of-directory-descendants-in-c.aspx" target="_blank"&gt;his blog&lt;/a&gt; post showed yet another Fibonacci algorithm, this one with “yeild” operator.&lt;/p&gt;  &lt;pre class="brush: csharp;"&gt;private IEnumerable Fibonacci()
{
    yield return 0;
    yield return 1;

    int a = 0;
    int b = 1;
    while (true)
    {
        int temp = a + b;
        a = b;
        b = temp;
        yield return b;
    }
}&lt;/pre&gt;

&lt;p&gt;Now it&amp;#39;s possible to fetch Fibonacci numbers in this manner:&lt;/p&gt;

&lt;pre class="brush: csharp;"&gt;static void Main(string[] args)
{
    foreach (int a in Fibonacci())
    {
        Console.Write(a);
        Console.Write(&amp;quot; more (y/n)?&amp;quot;);

        string more = Console.ReadLine();
        if (more.ToUpper() != &amp;quot;Y&amp;quot;)
            break;
    }
}&lt;/pre&gt;

&lt;p&gt;As you can see, code in Main procedure uses “foreach” statement, but the Fibonacci sequence is endless, so it can’t be populated in advance. Without “yield” we would have to create a temporary state variable (actually two: to store “a” and “b”) and pass them to a GetNextFibonacci that would produce a next number and return updated “a” and “b”. But with yield it’s possible to compute results on demand. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482955" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/vagif/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://bloggingabout.net/blogs/vagif/archive/tags/yield/default.aspx">yield</category></item><item><title>Presenting at DevDays 2010</title><link>http://bloggingabout.net/blogs/gerben/archive/2010/03/11/presenting-at-devdays-2010.aspx</link><pubDate>Thu, 11 Mar 2010 07:40:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482951</guid><dc:creator>Gerben van Loon</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I&amp;#39;ll be doing a session about... (not surprisingly)... &amp;quot;WCF Best Practices&amp;quot; at the Dutch&amp;nbsp;DevDays 2010!&lt;/p&gt;
&lt;p&gt;Check out the DevDays website for more info: &lt;a href="http://www.devdays.nl/Agenda.aspx?pid=66"&gt;http://www.devdays.nl/Agenda.aspx?pid=66&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482951" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/gerben/archive/tags/WCF/default.aspx">WCF</category></item><item><title>Meet and greet with Scott Guthrie and Brian Keller</title><link>http://bloggingabout.net/blogs/gerben/archive/2010/03/10/meet-and-greet-with-scott-guthrie-and-brian-keller.aspx</link><pubDate>Wed, 10 Mar 2010 08:02:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482939</guid><dc:creator>Gerben van Loon</dc:creator><slash:comments>4</slash:comments><description>&lt;p&gt;Cool stuff, me and me colleagues at the Achmea Microsoft Center of Excellence have a meet and greet with &amp;quot;The Gu&amp;quot; and Brain Keller at the end of the month. We have a chance to chat for a while with these guys. So if you where in my position what would you like to ask these guys?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482939" width="1" height="1"&gt;</description></item><item><title>NUnitForVS: integrating NUnit tests into Visual Studio</title><link>http://bloggingabout.net/blogs/vagif/archive/2010/03/06/nunitforvs-integrating-nunit-tests-into-visual-studio.aspx</link><pubDate>Sat, 06 Mar 2010 20:23:45 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482927</guid><dc:creator>Vagif Abilov</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Roy Osherove &lt;a href="http://weblogs.asp.net/rosherove/archive/2010/03/05/nunit-vs-mstest-nunit-wins-for-unit-testing.aspx" target="_blank"&gt;listed advantages&lt;/a&gt; of NUnit over MsTest but also mentioned one MsTest’s strength that can be crucial for many developers: “the integration with other team system tools and reporting is just beyond compare and the reporting alone helps alot to find recurring breaking tests, code churn vs. new tests and others”. This reminded me about what I recently read in a book by Jeff McWherter and Ben Hall &lt;a href="http://www.testingaspnet.com/" target="_blank"&gt;Testing ASP.NET Web Applications&lt;/a&gt; where they said that forthcoming release of Visual Studio 2010 will make it possible to configure VS test runner to execute tests that use syntax different from MsTest.&lt;/p&gt;  &lt;p&gt;I am a faithful user of &lt;a href="http://www.testdriven.net/" target="_blank"&gt;TestDriven.Net&lt;/a&gt;, but I know that ability to use built-in Visual Studio test runner is an important factor that may affect the choice of unit test framework. So it would be nice to separate these decisions: selection of a unit test framework and selection of a test runner. I &lt;a href="http://social.msdn.microsoft.com/Forums/en-SG/vstsprerelease/thread/92da13df-0c4f-4212-be3b-cf1a9795a6ac" target="_blank"&gt;asked in Microsoft’s VS 2010 forum&lt;/a&gt; it new version of Visual Studio is really that flexible when it comes to configuring it’s test runner. Unfortunately not. Microsoft’s Euan Garden answered: “this was something we wanted to do in the release but never made it into the product.” However, Euan gave a couple of hints: Gallio and NUnit integration CodePlex project.&lt;/p&gt;  &lt;p&gt;I checked CodePlex and found &lt;a href="http://nunitforvs.codeplex.com/" target="_blank"&gt;NUnitForVS&lt;/a&gt;: NUnit integration for Visual Studio 2008. I downloaded an ran the installer and within 5 minutes was able to make Visual Studio development environment to treat NUnit tests as they were native MsTest. The only preparation (in addition to installing NUnitForVS) was to open test project file in a text editor and add the following entry to the first PropertyGroup:&lt;/p&gt;  &lt;p&gt;&amp;lt;ProjectTypeGuids&amp;gt;{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}&amp;lt;/ProjectTypeGuids&amp;gt;&lt;/p&gt;  &lt;p&gt;This has to be done to &lt;em&gt;every&lt;/em&gt; test project that uses NUnit, but otherwise Visual Studio won’t be able to classify the project as a test project (why should it? – the only type of test projects that it natively recognizes is MsTest). After this change Visual Studio accepts NUnit tests, and you will see all your tests in the Test View window:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/5270.NUnitForVS1_5F00_0D2E65EA.png"&gt;&lt;img title="NUnitForVS1" style="border-right:0px;border-top:0px;display:inline;border-left:0px;border-bottom:0px;" height="251" alt="NUnitForVS1" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/0027.NUnitForVS1_5F00_thumb_5F00_2EAD9579.png" width="299" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;So far so good. Next checkpoint is to run and debug some of these tests. This also works well and test results are displayed in a respective window:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/2425.NUnitForVS2_5F00_0A1C07F5.png"&gt;&lt;img title="NUnitForVS2" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="254" alt="NUnitForVS2" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/6254.NUnitForVS2_5F00_thumb_5F00_17821AFB.png" width="594" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Note the very last test in this list, the one that is called “Add(2,3,5)”. This is a parameterized test implemented using TestCase attribute:&lt;/p&gt;  &lt;pre class="brush: csharp;"&gt;[TestCase(2, 3, 5)]
public void Add(int x, int y, int sum)
{
    Calculator calc = new Calculator();
    decimal result = calc.Add(x, y);
    Assert.AreEqual(sum, result, &amp;quot;Incorrect result&amp;quot;);
}&lt;/pre&gt;

&lt;p&gt;So using NUnitForVS we can exploit features of NUnit 2.5 that don’t exist in MsTest, and still Visual Studio correctly treats them. This is good news.&lt;/p&gt;

&lt;p&gt;When it comes to collecting code coverage, the situation is a little trickier. When I open code coverage window, I see not very encouraging message “Code Coverage is not enabled for this test run”:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/3146.NUnitForVS3_5F00_2790E9B2.png"&gt;&lt;img title="NUnitForVS3" style="border-right:0px;border-top:0px;display:inline;border-left:0px;border-bottom:0px;" height="129" alt="NUnitForVS3" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/1234.NUnitForVS3_5F00_thumb_5F00_0709AA00.png" width="398" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Actually this is correct message: you have to explicitly enable code coverage instrumentation. But how? Apparently our solution sill lacks some piece, but luckily it’s easy to fix. All we need is to add a test configuration file with extension “testrunconfig”. Then we can activate its configuration and enable code coverage collection. One simple way to add such file is to add and then delete a test project to a solution (a “real” MsTest project). The MsTest project will be gone but will a trace in a form of test configuration file:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/6303.NUnitForVS4_5F00_348AC9C3.png"&gt;&lt;img title="NUnitForVS4" style="border-right:0px;border-top:0px;display:inline;border-left:0px;border-bottom:0px;" height="292" alt="NUnitForVS4" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/3348.NUnitForVS4_5F00_thumb_5F00_49101941.png" width="328" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;If you now enable code coverage instrumentation for assemblies in your solution and rerun the tests, you will see the coverate summary:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/3482.NUnitForVS5_5F00_1D5F4F45.png"&gt;&lt;img title="NUnitForVS5" style="border-right:0px;border-top:0px;display:inline;border-left:0px;border-bottom:0px;" height="242" alt="NUnitForVS5" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/5556.NUnitForVS5_5F00_thumb_5F00_3FB6E4BE.png" width="813" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Pretty useless, isn’t it? The summary displays coverage only for the test assembly and not for the actual code under test. Why?&lt;/p&gt;

&lt;p&gt;More googling, and the explanation came from Peter Stephen’s blog post: even though coverage instrumentation is enabled for all assemblies in our solution, one of assemblies was taken from a wrong place: the assembly under the test lies both in its own “bin” folder and in the “bin” folder of the test assembly, and it is there it has to be taken from. To resolve the problem you just need to add the assembly from a right place:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/5305.NUnitForVS6_5F00_28F79D35.png"&gt;&lt;img title="NUnitForVS6" style="border-right:0px;border-top:0px;display:inline;border-left:0px;border-bottom:0px;" height="471" alt="NUnitForVS6" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/8877.NUnitForVS6_5F00_thumb_5F00_288B6A40.png" width="642" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Note 2 copies of UnitTestDemo.dll. The unchecked one is the one that was added initially, the checked one was added manually. And everything works:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/0317.NUnitForVS7_5F00_2AC7F2FC.png"&gt;&lt;img title="NUnitForVS7" style="border-right:0px;border-top:0px;display:inline;border-left:0px;border-bottom:0px;" height="717" alt="NUnitForVS7" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vagif.metablogapi/8686.NUnitForVS7_5F00_thumb_5F00_5129D647.png" width="817" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Of course, I only tried NUnitForVS on a very simple project. I plan to check it out with more complex code. But so far it looks quite promising opening Visual Studio test runner for NUnit - the most popular unit test framework.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482927" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/vagif/archive/tags/unit+testing/default.aspx">unit testing</category><category domain="http://bloggingabout.net/blogs/vagif/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://bloggingabout.net/blogs/vagif/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://bloggingabout.net/blogs/vagif/archive/tags/NUnit/default.aspx">NUnit</category><category domain="http://bloggingabout.net/blogs/vagif/archive/tags/NUnitForVS/default.aspx">NUnitForVS</category></item><item><title>K2 new release Technical and Sales Partner Sessions</title><link>http://bloggingabout.net/blogs/markwillems/archive/2010/03/03/k2-new-release-technical-and-sales-partner-sessions.aspx</link><pubDate>Wed, 03 Mar 2010 20:47:31 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482902</guid><dc:creator>Mark Willems</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;The next release from K2 is almost here. This next-generation software from K2 — named 4.5 because it is the fifth release on the fourth major version of our software — focuses on greater stability and better performance and also includes some great additional features, including:&lt;/p&gt;  &lt;p&gt;· An updated, more powerful Web-based designer, K2 Designer for SharePoint&lt;/p&gt;  &lt;p&gt;· Inline functions, allowing process designers to include functions and calculations in processes without having to write code&lt;/p&gt;  &lt;p&gt;· Enhanced SmartObject functionality&lt;/p&gt;  &lt;p&gt;· Memory and performance improvements, across design time and runtime&lt;/p&gt;  &lt;p&gt;· A simplified installation experience&lt;/p&gt;  &lt;p&gt;To make sure K2 partners are ready for this exciting new release from K2, we are hosting a special two part How to K2: Partner Edition series dedicated to K2 4.5. &lt;/p&gt;  &lt;p&gt;The first session, taking place Thursday, March, 4th, will provide a technical overview of what’s new in K2 4.5 and demonstrate many of the new features listed above&lt;/p&gt;  &lt;p&gt;The second session, taking place Thursday, March 11th, will focus on the business aspect of K2 4.5 and the additional revenue opportunities it will bring to your business. &lt;/p&gt;  &lt;p&gt;The &lt;b&gt;&lt;i&gt;How To K2: Partner Edition&lt;/i&gt;&lt;/b&gt; is a monthly webinar series that covers a range of topics. They may be sales-focused or technical in nature and will include the appropriate K2 subject matter for each topic.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;DATE&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Technical&lt;/strong&gt;:     &lt;br /&gt;Thursday, March 4, 2010 &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Sales:&lt;/strong&gt;    &lt;br /&gt;Thursday, March 11, 2010&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;TIME &lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;09:00 AM - 10:00 AM    &lt;br /&gt;(UTC-06:00)    &lt;br /&gt;Central Time     &lt;br /&gt;(US and Canada) &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.k2content.com/forms/CORP2010Q1HowtoK2-March?elq=ba19f678c7ad491c96eb070f0a854d80"&gt;REGISTER HERE&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482902" width="1" height="1"&gt;</description></item><item><title>I'll be attending at the Dutch Microsoft DevDays: how to make debugging/testing easy following the SharePoint Guidance</title><link>http://bloggingabout.net/blogs/bas/archive/2010/03/03/i-ll-be-attending-at-the-dutch-microsoft-devdays-how-to-make-debugging-testing-easy-following-the-sharepoint-guidance.aspx</link><pubDate>Wed, 03 Mar 2010 12:39:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482901</guid><dc:creator>Bas</dc:creator><slash:comments>3</slash:comments><description>Yesterday I was asked if I wanted to held a session at the Microsoft DevDays in the netherlands. Of course I said yes :D. There was a gap and wanted me to fill it. The session will be about how to make use of design patterns like MVP, Repositories and ServiceLocators to be able to test/debug all of your code without deploying. This deployment is often one of the delaying factor&amp;#39;s when developing for SharePoint. After this session, I will write a more advanced blogpost on how to effectively reduce...(&lt;a href="http://bloggingabout.net/blogs/bas/archive/2010/03/03/i-ll-be-attending-at-the-dutch-microsoft-devdays-how-to-make-debugging-testing-easy-following-the-sharepoint-guidance.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482901" width="1" height="1"&gt;</description></item><item><title>AppFabric : Configuration binding extension could not be found.</title><link>http://bloggingabout.net/blogs/dennis/archive/2010/02/27/appfabric-configuration-binding-extension-could-not-be-found.aspx</link><pubDate>Sat, 27 Feb 2010 20:34:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482885</guid><dc:creator>Dennis van der Stelt</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;I have recently installed the Windows Azure AppFabric SDK because I&amp;rsquo;m writing an article for the Dutch .NET Magazine. Problem is I try to do everything in Visual Studio 2010 these days, just because it&amp;rsquo;s so cool to have something that&amp;rsquo;s buggy. Seriously! Sometimes you get headaches because you just can&amp;rsquo;t figure out why something&amp;rsquo;s not working, only to find out it&amp;rsquo;s because it really isn&amp;rsquo;t working because of the current beta version you&amp;rsquo;re working with. But on the other side it&amp;rsquo;s really fun and you learn a lot.&lt;/p&gt;
&lt;p&gt;As now, when I got the following message.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Configuration binding extension &amp;#39;system.serviceModel/bindings/netTcpRelayBinding&amp;#39; could not be found. Verify that this binding extension is properly registered in system.serviceModel/extensions/bindingExtensions and that it is spelled correctly.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It&amp;rsquo;s a System.ConfigurationErrorsException which can mean that you might be right with what you configured, the .NET runtime just can&amp;rsquo;t figure out what it is that is wrong. This time it&amp;rsquo;s because some extensions to WCF weren&amp;rsquo;t added to the machine.config of .NET 4.0 RC. It was however added to the machine.config of .NET 2.0 so I took it from there. And for future reference for my dear readers and all others that come in via Google, I&amp;rsquo;m posting the fix here.&lt;/p&gt;
&lt;p&gt;Sidenote : I&amp;rsquo;m using 2.0.50727 and 4.0.30128 version of the .NET Framework, but the versions might differ on your machine.&lt;/p&gt;
&lt;p&gt;Go to C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\ and read the machine.config from there. In the node configuration\system.servicemodel\extensions\ you find two nodes. The first is bindingElementExtensions and the second is bindingExtensions. You&amp;rsquo;ll see some bindings with a name that contains &amp;ldquo;relay&amp;rdquo; in it. Copy these into notepad or so.&lt;/p&gt;
&lt;p&gt;Now open up C:\Windows\Microsoft.NET\Framework\v4.0.30128\Config\ and edit the machine.config there. Copy the lines from the 2.0 config that are missing in the 4.0 config and your AppFabric service should be able to start.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482885" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/WCF/default.aspx">WCF</category><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/Azure/default.aspx">Azure</category><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/.NET+Framework+4.0/default.aspx">.NET Framework 4.0</category></item><item><title>IBM WebSphere MQ WCF Channels</title><link>http://bloggingabout.net/blogs/gerben/archive/2010/02/25/ibm-websphere-mq-wcf-channels.aspx</link><pubDate>Thu, 25 Feb 2010 14:21:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482881</guid><dc:creator>Gerben van Loon</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Intro&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Windows Communication Foundation out of the box ships with quite some transport mechanisms. By default it comes with http, tcp, msmq, etc. A channel for the quite widely used IBM WebSpere MQ (WMQ) transport is missing. Guess this probably is because Microsoft wants you to use their queuing transport: MSMQ.&lt;/p&gt;
&lt;p&gt;To clarify terms up: the WCF thing that really puts the messages on the wire if generally referred to as a channel, transport or transport channel. To able to use that thing in WCF in config you need a binding. A transport combined with a binding is often called an adapter.&lt;/p&gt;
&lt;p&gt;Due to history though quite some companies are still using WMQ. In the past I&amp;#39;ve extended WCF with a custom channel for WMQ for a company I worked for and that works fine. Though you actually don&amp;#39;t want to build these kinds of things since they&amp;#39;re quite complex. Especially if your need robust high volume processing. Luckily enough though both Microsoft and IBM have recently shipped a WCF transport for WMQ. Microsoft ships it with Host Integration Server 2009 which is part of BizTalk. IBM had a transport in alpha for while but it now ships it with WMQ version 7. I evaluated both of these transports and below are my findings.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Microsoft HIS Channel&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;WCF Channel for WebSphere MQ: Provides messaging support to remote MQSeries Queue Managers, using the WebSphere MQ Base Client (non-transactional), WebSphere MQ Transactional Extended Client APIs or local Queue Managers using the WebSphere MQ Server APIs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Message patterns&lt;/strong&gt;&lt;br /&gt;Oneway send and receive supported.&lt;br /&gt;Request reply not supported.&lt;br /&gt;Distributed transactions also supported.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ships with&lt;/strong&gt;&lt;br /&gt;Host Integration Server 2009 or BizTalk Server 2009 adapters for host systems.&lt;br /&gt;You don&amp;#39;t need to install or have BizTalk. One of the two above install the assemblies and it are just the assemblies you need to get it working. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Documentation / Samples&lt;/strong&gt;&lt;br /&gt;Quite some samples ship with the SDK.&lt;br /&gt;\Program Files\Microsoft Host Integration Server 2009\SDK\Samples\MessageIntegration\MQChannel&lt;/p&gt;
&lt;p&gt;There are only some readmes with the samples. Haven&amp;#39;t found any documentation about the channel.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Licensing&lt;/strong&gt;&lt;br /&gt;Despite that you only need the assemblies and no BizTalk to get it working licensing is still via BizTalk. Cheapest way if you&amp;#39;re just using the assemblies on non BizTalk server is to go with the branch edition.&lt;/p&gt;
&lt;p&gt;Details at:&lt;br /&gt;&lt;a href="http://download.microsoft.com/download/3/9/E/39EB3E63-997C-47CA-9316-AA0B6CD7F9B8/Microsoft%20Host%20Integration%20Server%202009%20FAQ.docx"&gt;http://download.microsoft.com/download/3/9/E/39EB3E63-997C-47CA-9316-AA0B6CD7F9B8/Microsoft%20Host%20Integration%20Server%202009%20FAQ.docx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/biztalk/en/us/pricing-licensing.aspx"&gt;http://www.microsoft.com/biztalk/en/us/pricing-licensing.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dependencies&lt;/strong&gt;&lt;br /&gt;IBM WebSphere MQ Client 6.0 with Fix Pack 6.0.1.1 or higher&lt;br /&gt;IBM WebSphere MQ Client 7.0 with Fix Pack 7.0.0.1 (required for 64-bit). &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Communication with MQ&lt;/strong&gt;&lt;br /&gt;Not sure how the adapter under the covers communicates with MQ. Seem not to be using the standard WMQ .NET API (AMQMDNET.DLL). &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hosting&lt;/strong&gt;&lt;br /&gt;Currently no WAS listener available for IIS7. So if you need to listen for messages on a queue you have to host outside IIS. WAS listener is planned for next version.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;IBM Channel&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Message patterns&lt;/strong&gt;&lt;br /&gt;Oneway send and receive supported.&lt;br /&gt;Request reply supported.&lt;br /&gt;Distributed transactions not supported.&lt;br /&gt;Assured delivery mechanism supported to prevent message loss. Uncaught exception in service rolls back message to queue.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ships with&lt;/strong&gt;&lt;br /&gt;IBM WebSphere MQ Client or Server 7.0&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Documentation / Samples&lt;/strong&gt;&lt;br /&gt;\Program Files\IBM\WebSphere MQ\tools\wcf\samples&lt;br /&gt;&lt;a href="http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/topic/com.ibm.mq.csqzav.doc/un12000_.htm"&gt;http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/topic/com.ibm.mq.csqzav.doc/un12000_.htm&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Quite some samples and good documentation available.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Licensing&lt;/strong&gt;&lt;br /&gt;Ships with MQ client 7.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dependencies&lt;/strong&gt;&lt;br /&gt;The WebSphere MQ custom channel for WCF can only connect to WebSphere MQ V7 or higher queue managers.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Communication with MQ&lt;/strong&gt;&lt;br /&gt;Connecting via XMS.NET / JMS stuff under the covers. Always constructs JMS messages. Makes an JMS byte message with RFH2/JMS headers in it. Channel also expects this when receiving.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hosting&lt;/strong&gt;&lt;br /&gt;Also no WAS listener available for IIS7.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Conclusion&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;It all looked very nice at first that both Microsoft and IBM are shipping a WCF channel for WMQ. Major disadvantages for me for the Microsoft one are the licensing model and that they don&amp;#39;t support request-reply. The IBM channel doesn&amp;#39;t have these problems but is missing WMQ 6, distributed transactions&amp;nbsp;and&amp;nbsp;non JMS&amp;nbsp;support on the other side. &lt;/p&gt;
&lt;p&gt;Yes I know queues aren&amp;#39;t meant for request-reply communication. But there are still quite some old systems around that only are accessible via WMQ, that&amp;#39;s why I want request-reply over WMQ.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482881" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/gerben/archive/tags/WCF/default.aspx">WCF</category></item><item><title>BizTalk Software Factory for BizTalk 2009 Service Release</title><link>http://bloggingabout.net/blogs/jpsmit/archive/2010/02/24/biztalk-software-factory-for-biztalk-2009-service-release.aspx</link><pubDate>Wed, 24 Feb 2010 22:55:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482877</guid><dc:creator>Jean-Paul Smit</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I just released a beta of v2.1 of the &lt;a href="http://www.codeplex.com/bsf" target="_blank"&gt;BizTalk Software Factory&lt;/a&gt;. It is the version for BizTalk Server 2009 and contains some fixes. In the near future some new functionality will be implemented, but for now I hope some annoying issues are fixed.&lt;/p&gt;  &lt;p&gt;Please check it out &lt;a href="http://bsf.codeplex.com/releases/view/41007" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;What is fixed:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Fix for x64: the SN.EXE tool is now located based on stored path in the registry &lt;/li&gt;    &lt;li&gt;Installation fix: Microsoft.Practices.RecipeFramework.Extensions.dll is now copied to the correct location during setup &lt;/li&gt;    &lt;li&gt;BizTalk Deployment Framework support: Moved to v5.0.11 of the deployment framework, together with other minor BDF fixes. &lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482877" width="1" height="1"&gt;</description></item><item><title>ClickOnce manual updates</title><link>http://bloggingabout.net/blogs/dennis/archive/2010/02/24/clickonce-manual-updates.aspx</link><pubDate>Wed, 24 Feb 2010 15:41:39 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482870</guid><dc:creator>Dennis van der Stelt</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;I’ve written some tutorials in the past to help people with manually updating their ClickOnce deployed applications.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;a href="http://bloggingabout.net/blogs/dennis/archive/2007/11/05/manual-check-for-updates-with-clickonce.aspx" target="_blank"&gt;Manual check for updates with ClickOnce&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://bloggingabout.net/blogs/dennis/archive/2007/11/28/turn-off-automatic-updates-with-clickonce.aspx" target="_blank"&gt;Turn off automatic updates with ClickOnce&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://bloggingabout.net/blogs/dennis/archive/2008/10/10/clickonce-deployment-signed-manifests-and-automated-builds-and-resolvekeysource-failing.aspx" target="_blank"&gt;ClickOnce automated build and pfx file&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://bloggingabout.net/blogs/dennis/archive/2008/11/26/deploying-clickonce-applications-automated-using-finalbuilder.aspx" target="_blank"&gt;Creating ClickOnce deployment files using an automated build and FinalBuilder&lt;/a&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis.metablogapi/3823.clickonce_5F00_autoupdate_5F00_31_5F00_287B76AB.gif"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;" title="clickonce_autoupdate_3[1]" border="0" alt="clickonce_autoupdate_3[1]" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis.metablogapi/0601.clickonce_5F00_autoupdate_5F00_31_5F00_thumb_5F00_6EF866B3.gif" width="382" height="126" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Miscellaneous users still had problems with the updates not checking very well. Joe responded with a solution. I’m writing it down here so more people might benefit from it as well, especially since the comment didn’t contain any linebreaks! :)&lt;/p&gt;  &lt;p&gt;As Joe mentions the methods CheckForUpdate() and CheckForDetailedUpdate() persist the information retrieved to disk. This way when performing the check for update again, the information is retrieved from disk. If you’ve chosen to skip the update, it won’t ask you again.&lt;/p&gt;  &lt;p&gt;You can override this behavior by using an overloaded method of the above mentioned methods and specify that you don’t want the information to be persisted to disk.&lt;/p&gt;  &lt;pre class="brush: csharp;"&gt;ApplicationDeployment updateCheck = ApplicationDeployment.CurrentDeployment;
UpdateCheckInfo info = updateCheck.CheckForDetailedUpdate(false);

//
if (info.UpdateAvailable)
{
    updateCheck.Update();
    MessageBox.Show(&amp;quot;The application has been upgraded, and will now restart.&amp;quot;);
    Application.Restart();
}&lt;/pre&gt;
Check the second line with the method CheckForDetailedUpdate where I pass a ‘false’ to specify that it should not persist the update information.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482870" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/Development/default.aspx">Development</category><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/.NET+Framework+2.0/default.aspx">.NET Framework 2.0</category></item><item><title>"Oslo" / SQL Server Modeling</title><link>http://bloggingabout.net/blogs/gerben/archive/2010/02/23/quot-oslo-quot-sql-server-modeling.aspx</link><pubDate>Tue, 23 Feb 2010 12:43:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482863</guid><dc:creator>Gerben van Loon</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;A nice update and overview by Lars: &lt;a href="http://startbigthinksmall.wordpress.com/2010/02/17/what-is-left-of-microsoft-oslo-what-now-with-sql-server-modeling-early-2010/"&gt;http://startbigthinksmall.wordpress.com/2010/02/17/what-is-left-of-microsoft-oslo-what-now-with-sql-server-modeling-early-2010/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Not a lot happening in this space lately. I only see the team blogging&amp;nbsp;about OData. Still curious where this will go, especially for the M / Grammer part.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482863" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/gerben/archive/tags/Oslo/default.aspx">Oslo</category><category domain="http://bloggingabout.net/blogs/gerben/archive/tags/DSL/default.aspx">DSL</category></item><item><title>New release of BizTalk Deployment Framework</title><link>http://bloggingabout.net/blogs/jpsmit/archive/2010/02/23/new-release-of-biztalk-deployment-framework.aspx</link><pubDate>Tue, 23 Feb 2010 11:01:36 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482862</guid><dc:creator>Jean-Paul Smit</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;The guys from the well known &lt;a href="http://biztalkdeployment.codeplex.com" target="_blank"&gt;BizTalk Deployment Framework&lt;/a&gt; have been working very hard lately. Last year there was a version 5.0 beta for BizTalk 2009 solutions and BizTalk 2006 developers had to use version 4.0.&lt;/p&gt;  &lt;p&gt;A few days ago they &lt;a href="http://biztalkdeployment.codeplex.com/releases/view/17826" target="_blank"&gt;released a new beta of version 5.0&lt;/a&gt; which supports not only BizTalk Server 2009 but also BizTalk Server 2006 and 2006 R2! I’m very happy with these great improvements because v4.0 was much more complex than the beta of v5.0 last year and now they even improved the v5.0 of last year.&lt;/p&gt;  &lt;p&gt;I definitely need to dive into this, because the &lt;a href="http://www.codeplex.com/bsf" target="_blank"&gt;BizTalk Software Factory&lt;/a&gt; relies on the BDF for deployment. I already started to fix some x64 issues and now I can integrate the latest version of the BDF as well.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482862" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/jpsmit/archive/tags/BizTalk/default.aspx">BizTalk</category><category domain="http://bloggingabout.net/blogs/jpsmit/archive/tags/Software+Factory/default.aspx">Software Factory</category></item><item><title>Fluent object construction</title><link>http://bloggingabout.net/blogs/vagif/archive/2010/02/17/fluent-configuration.aspx</link><pubDate>Wed, 17 Feb 2010 12:13:59 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482846</guid><dc:creator>Vagif Abilov</dc:creator><slash:comments>5</slash:comments><description>&lt;p&gt;I like an idea to replace constructor overloads that take optional parameters with more fluent approach, so there will be less (and easier for understanding) constructor overloads and more readable code. Perhaps also more writeable.&lt;/p&gt;  &lt;p&gt;Let’s take an example, well-known StreamWriter. It has the following constructors:&lt;/p&gt;  &lt;pre class="brush: csharp;"&gt;public StreamWriter(Stream stream);
public StreamWriter(string path);
public StreamWriter(Stream stream, Encoding encoding);
public StreamWriter(string path, bool append);
public StreamWriter(Stream stream, Encoding encoding, int bufferSize);
public StreamWriter(string path, bool append, Encoding encoding);
public StreamWriter(string path, bool append, Encoding encoding, int bufferSize);&lt;/pre&gt;

&lt;p&gt;Stream and path parameters are mutually exclusive and one of them must be sent to a constructor, other parameters (encoding, append and bufferSize) are optional, and append flag can only be used together with the path. There are in total 8 constructor overloads, and they don’t cover all possible valid combination: there is no overload that only takes path, encoding and bufferSize (you will have to send append flag too).&lt;/p&gt;

&lt;p&gt;What if this class had fewer constructors but provided additional methods to enrich stream writer setup? Like this:&lt;/p&gt;

&lt;pre class="brush: csharp;"&gt;public class FluentStreamWriter
{
    public Encoding Encoding { get; private set; }
    public int BufferSize { get; private set; }

    public FluentStreamWriter(Stream stream) { }
    public FluentStreamWriter(string path) { }
    public FluentStreamWriter(string path, bool append) { }

    public FluentStreamWriter With(Encoding encoding, int bufferSize) { this.Encoding = encoding; this.BufferSize = bufferSize; return this; }
    public FluentStreamWriter WithEncoding(Encoding encoding) { this.Encoding = encoding; return this; }
    public FluentStreamWriter WithBufferSize(int bufferSize) { this.BufferSize = bufferSize; return this; }
}&lt;/pre&gt;

&lt;p&gt;And the code using classic and fluently constructed stream writer would look like this:&lt;/p&gt;

&lt;pre class="brush: csharp;"&gt;var writer1 = new StreamWriter(&amp;quot;temp.txt&amp;quot;, false, Encoding.UTF8);
var writer2 = new StreamWriter(&amp;quot;temp.txt&amp;quot;, true, Encoding.UTF8, 1000);

var writer3 = new FluentStreamWriter(&amp;quot;temp.txt&amp;quot;).With(Encoding.UTF8, 1000);
var writer4 = new FluentStreamWriter(&amp;quot;temp.txt&amp;quot;).WithEncoding(Encoding.UTF8);
var writer5 = new FluentStreamWriter(&amp;quot;temp.txt&amp;quot;).WithEncoding(Encoding.UTF8).WithBufferSize(1000);&lt;/pre&gt;

&lt;p&gt;What I like in this approach is the separation between mandatory and optional set of constuctor arguments: what is sent to the constructor is mandatory (either individual parameters or set of mutually exclusive parameters). Everything that is optional may be added using methods prefixed with “With” that return the same class instance.&lt;/p&gt;

&lt;p&gt;The drawback of this approach is that since it moves some object construction options to custom methods, they can be overlooked by developers that are not aware of API style and may conclude that object construction possibilities are limited by the list of constructor overloads. So perhaps this approach is not suitable for a small API where fluent construction will be the only deviation from traditional type design style. But in large frameworks with fluent API style it can feel natural and be easily accepted.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482846" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/vagif/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://bloggingabout.net/blogs/vagif/archive/tags/coding+guidelines/default.aspx">coding guidelines</category></item><item><title>Visual Studio 2010 Release Candidate Has Arrived</title><link>http://bloggingabout.net/blogs/fadzai/archive/2010/02/15/visual-studio-2010-release-candidate-has-arrived.aspx</link><pubDate>Mon, 15 Feb 2010 11:27:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482836</guid><dc:creator>Fadzai Chamba</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Boy, doesn&amp;#39;t time move fast. It seems like only a few months ago when I downloaded VS2010 Beta 2 and now the release candidate is here. Okay, so it actually was a few months ago when I did the download, but you get the point don&amp;#39;t you? I haven&amp;#39;t done any coding in almost a month so I missed this when it came out and only saw it it this morning when I opened Beta 2. This has come out sooner than I expected, and that&amp;#39;s a good thing.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m just looking at some of the new features available in it (from the MSDN website), and it appears they have a prototyping tool, and from the screen shot available, it seems it has similar functionality to sketchflow. But this works from inside Visual Studio, which is great for left-brained developers like me who know how to use Blend through and through, but still cannot create something appealing to the eye with the tool. The &lt;a target="_blank" href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx" title="The MSDN page"&gt;page&lt;/a&gt; is offering new integration capabilities for the various roles we have to fill, (developer, designer, tester, etc.),&amp;nbsp;which if improved will totally rock because I think they are great already.&lt;/p&gt;
&lt;p&gt;You can aslo see from the MSDN site that as expected, there is a lot of chatter about it on twitter. I don&amp;#39;t know about you, but I&amp;#39;m game, and will be downloading this to see what new things it has to offer.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482836" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/fadzai/archive/tags/.NET/default.aspx">.NET</category><category domain="http://bloggingabout.net/blogs/fadzai/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://bloggingabout.net/blogs/fadzai/archive/tags/.NET+4.0/default.aspx">.NET 4.0</category></item><item><title>First steps on the SharePoint 2010 BCS path</title><link>http://bloggingabout.net/blogs/jpsmit/archive/2010/02/12/first-steps-on-the-sharepoint-2010-bcs-path.aspx</link><pubDate>Fri, 12 Feb 2010 22:57:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482830</guid><dc:creator>Jean-Paul Smit</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Because of my work as an integration consultant I&amp;rsquo;m interested in the new BCS capabilities in SharePoint 2010. It is always good to find out personally what you can and what you cannot do with new technology.&lt;/p&gt;
&lt;p&gt;At the SharePoint 2010 connections in the RAI conference center in Amsterdam I saw a nice demo presented by Steve Fox. Like all Microsoft demos things look much easier than in they are in reality.&lt;/p&gt;
&lt;p&gt;To find out myself I started a small project. I took &lt;a target="_blank" href="http://blogs.msdn.com/steve_fox/archive/2009/12/26/sharepoint-2010-development-using-bcs.aspx"&gt;this blog by Steve Fox&lt;/a&gt; as a guideline because it would be great to get that working in the first place.&lt;/p&gt;
&lt;p&gt;I decided to start with the SharePoint Designer to see what you can achieve with regards to the BCS. It turned out that you can create connectivity with SQL Server databases via BCS with the SharePoint Designer very easily. Just click a few times and you can create an external list talking to the database. Cool! I saw a few other options that I would like to investigate more at a later time but are out of scope for now.&lt;/p&gt;
&lt;p&gt;Next the Visual Studio approach. I learned a best practice to always start with an empty SharePoint project and then add the necessary items. I added a &amp;lsquo;Business Data Connectivity Model&amp;rsquo;&lt;/p&gt;
&lt;p&gt;By leaving everything to default, this is what the solution and entity looks like:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.didago.nl/blog/bcs_newsolution.jpg" alt="New BCS Solution" border="0" title="New BCS Solution" style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" /&gt; &lt;img src="http://www.didago.nl/blog/bcs_newentity.jpg" alt="New BCS Entity" border="0" title="New BCS Entity" style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" /&gt;&lt;/p&gt;
&lt;p&gt;Because I didn&amp;rsquo;t like the defaults I decided to change the name of the feature and BDC model. Then I added a WCF Service library to function as service layer between the SharePoint 2010 external list and the SQL Server database. At the end the solution and entity looked like this:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.didago.nl/blog/BCS_Solution.jpg" alt="BCS Solution" border="0" title="BCS Solution" style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" /&gt; &lt;img src="http://www.didago.nl/blog/bcs_adjustedentity.jpg" alt="BCS Entity" border="0" title="BCS Entity" style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" /&gt;&lt;/p&gt;
&lt;p&gt;Actually that is where the trouble began. One advice, don&amp;rsquo;t change the defaults if you&amp;rsquo;re trying to learn BCS. Just changing the &amp;lsquo;Identifier1&amp;rsquo; into &amp;lsquo;CustomerId&amp;rsquo; can cause serious trouble and your external list just won&amp;rsquo;t work. You have to dive into the SharePoint logs to figure out what exactly is going on. The good thing is that I know now where to find the logs (C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\LOGS).&lt;/p&gt;
&lt;p&gt;The basic thing is that you have to define an entity which represents the object you&amp;rsquo;re retrieving. For me it was nothing more than the following, much like in Steve&amp;rsquo;s blog:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;public partial class MyDidagoEntity &lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string CustomerId { get; set; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string FirstName { get; set; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string LastName { get; set; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string Street { get; set; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string Zipcode { get; set; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string City { get; set; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string Country { get; set; } &lt;br /&gt;} &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Then you implement the &amp;lsquo;CRUD&amp;rsquo; methods in the entity service. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ReadItem&lt;/li&gt;
&lt;li&gt;ReadList&lt;/li&gt;
&lt;li&gt;Create&lt;/li&gt;
&lt;li&gt;Update&lt;/li&gt;
&lt;li&gt;Delete&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In the entity service I called my own WCF service and mapped the objects coming from the WCF service to the entity I defined as &amp;lsquo;MyDidagoEntity&amp;rsquo;. The ReadItem mehod looks like this:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;public static MyDidagoEntity ReadItem(string id) &lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Call the service to get the data &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DidagoService.DidagoServiceClient client = new&amp;nbsp; DidagoService.DidagoServiceClient(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DidagoService.Customer customer = client.GetCustomerById(int.Parse(id)); &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyDidagoEntity MyDidagoEntity = new MyDidagoEntity(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyDidagoEntity.CustomerId = id; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyDidagoEntity.FirstName = customer.FirstName; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyDidagoEntity.LastName = customer.LastName; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyDidagoEntity.City = customer.City; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyDidagoEntity.Country = customer.Coutry; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyDidagoEntity.Street = customer.Street; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyDidagoEntity.Zipcode = customer.Zipcode; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return MyDidagoEntity; &lt;br /&gt;}&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;One thing I learned so far is not to change the type of the Id of the item you want to read. I changed this from &amp;lsquo;string&amp;rsquo; to &amp;lsquo;int&amp;rsquo; but didn&amp;rsquo;t get away with it. I have to dive into this but to get this working, leave it as string.&lt;/p&gt;
&lt;p&gt;There are tools in Visual Studio (like the BDC Explorer) that help you with building and changing the XML definition (which is still there), but one way or another I ended up search and replacing things in the XML definition anyway. &lt;/p&gt;
&lt;p&gt;The final challenge was to get the WCF client configuration in the right web.config. Because I mostly skipped SharePoint 2007 I had to learn where to put it. After some trial and error I found out it should be in C:\inetpub\wwwroot\wss\VirtualDirectories\80\web.config.&lt;/p&gt;
&lt;p&gt;To make a long story short: I got it to work!&lt;/p&gt;
&lt;p&gt;It actually is a pretty cool technology that I expect to be used by a lot of companies. I&amp;rsquo;m sure I&amp;rsquo;ll run into this in the future so it is my job to be prepared.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482830" width="1" height="1"&gt;</description></item><item><title>Playing around with Pivot</title><link>http://bloggingabout.net/blogs/ilske/archive/2010/02/12/playing-around-with-pivot.aspx</link><pubDate>Fri, 12 Feb 2010 04:38:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482825</guid><dc:creator>Ilske Verburg</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;A while ago I came across &lt;a target="_blank" href="http://www.getpivot.com/"&gt;Pivot&lt;/a&gt;, one of the experimental initiatives from Microsoft Live Labs. The idea behind Pivot is that it allows you to browse large sets of information in a visual way and allows you to find relations between information (at least that&amp;#39;s my translation of it). &lt;/p&gt;
&lt;p&gt;At the moment it is still quite static. You have to create a collection of&amp;nbsp;items you want to view.&amp;nbsp;Each data item should be categorised in multiple ways so you can look at it from different viewpoints (similar to what you do when using a pivot table to look at data from different viewpoints). And each item needs to have a visual representation because of the visual way the data is&amp;nbsp;handled in the Pivot viewer. There&amp;nbsp;is a helpful Excel sheet which allows you to define the collection and create the deep-zoom formatted images for the viewer... and that is pretty easy (as long as you keep you collection quite small).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilske/1423.PivotNZ.jpg"&gt;&lt;img src="http://bloggingabout.net/resized-image.ashx/__size/400x0/__key/CommunityServer.Blogs.Components.WeblogFiles/ilske/1423.PivotNZ.jpg" border="0" alt="" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;I played around with a couple of pictures from New Zealand (where else ;-). They are all in two categories, region and distance from Wellington and I added some descriptions which show up in the browser when you zoom in.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilske/1423.PivotNZ.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilske/4111.PivotNZdetail.jpg"&gt;&lt;img src="http://bloggingabout.net/resized-image.ashx/__size/400x0/__key/CommunityServer.Blogs.Components.WeblogFiles/ilske/4111.PivotNZdetail.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It&amp;#39;s rather cool to browse&amp;nbsp;and filter&amp;nbsp;through the collections like this. Especially being able to filter on one or more of the categories is quite useful when browsing one of the much larger sample collections. Unfortunately there is now way yet&amp;nbsp;to collect items you found in your search.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilske/5228.0_5F00_0.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The whole exercise got me wondering about two things, how do you come up with visual representations for non-visual information and how can you make it more dynamic. The example that allows you to browse wikipedia explores some ideas on the first question although I&amp;#39;m not sure on how static that collection is. And I am able to view my pivot browser history in&amp;nbsp;the &amp;quot;pivot&amp;nbsp;way&amp;quot; so that means that it must be possible to create the necessary xml on the fly... and yes... pages are converted to deep zoom images (and tucked away in C:\Users\&amp;lt;user&amp;gt;\AppData\Roaming\Microsoft\Pivot\Collection.dzc.Files)... this asks for further exploration because obviously being able to create a collection dynamically makes this far more interesting and usable.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482825" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/ilske/archive/tags/Pivot/default.aspx">Pivot</category></item><item><title>Speaking at the Microsoft Applicatieplatform Congres 2010</title><link>http://bloggingabout.net/blogs/mveken/archive/2010/02/11/speaking-at-the-microsoft-applicatieplatform-congres-2010.aspx</link><pubDate>Thu, 11 Feb 2010 21:26:57 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482824</guid><dc:creator>Martijn Veken</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;On 4 and 5 March Microsoft is organizing the Microsoft Applicatieplatform Congres in Noordwijkerhout in the Netherlands. At the congress Microsoft will be showing what their application platform is capable of. The first day is targeted at IT managers and architects, the second at software architects and lead developers.&amp;#160; &lt;/p&gt;  &lt;p&gt;My session will be on the first day and is on our TFS work-item tracking implementation at REAAL. I’ll be discussing the decisions we made, the challenges we faced and the advantages we’re getting out of using TFS. I will be doing this session together with InfoSupport who will talk about their TFS implementation at CZ.&lt;/p&gt;  &lt;p&gt;Another cool thing for me is that my session is just before Ivar Jacobson! Very nice to see my name in the same list as his :-)&lt;/p&gt;  &lt;p&gt;You can find details on this event and how to register &lt;a href="http://www.microsoft.com/netherlands/apo/default.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482824" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/mveken/archive/tags/APO+Event/default.aspx">APO Event</category><category domain="http://bloggingabout.net/blogs/mveken/archive/tags/TFS/default.aspx">TFS</category></item><item><title>Home Server µTorrent IIS Web Access Client</title><link>http://bloggingabout.net/blogs/andries/archive/2010/02/11/home-server-181-torrent-iis-web-access-client.aspx</link><pubDate>Thu, 11 Feb 2010 09:22:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482820</guid><dc:creator>Andries van der Meulen</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;At home I have a &lt;a target="_blank" href="http://www.microsoft.com/windows/products/winfamily/windowshomeserver/"&gt;Windows Home Server&lt;/a&gt; which also has &lt;a target="_blank" href="http://www.utorrent.com/"&gt;&amp;micro;Torrent&lt;/a&gt; running as a service. Luckily this application comes default with a &lt;a target="_blank" href="http://www.utorrent.com/documentation/webui"&gt;Web Access&lt;/a&gt; which allows you to manage &amp;micro;Torrent without having a user logged in on your server. (installing &amp;micro;Torrent on your server as a service described &lt;a target="_blank" href="http://www.wegotserved.co.uk/wiki/index.php?title=Install_uTorrent_on_Windows_Home_Server"&gt;here&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;What happens is that the Web Access is made available on another port. Something like &lt;em&gt;http://homeserver:39295/gui/&lt;/em&gt;. And this might become a problem if you want to reach your Web Client from outside your personal network. Of course you can solve this by setting the port-forwarding, but in my case I wasn&amp;rsquo;t allowed to reach non-default ports when I was at work. The firewalls block these ports.&lt;/p&gt;
&lt;p&gt;But because I am allowed to reach the default port 80 on my home server, I wondered if it was possible to have the Web Client on the IIS of the Home Server. Unfortunately is the &amp;micro;Torrent Web Access client not meant for this, so I looked around to see if there where other Web Access clients which does the same.&lt;/p&gt;
&lt;p&gt;I did found &lt;a target="_blank" href="http://www.codeproject.com/KB/ajax/utorrent_web.aspx"&gt;one solution&lt;/a&gt;, and although it worked, it wasn&amp;rsquo;t exactly what I had in mind.&lt;/p&gt;
&lt;p&gt;So i created a little personal project to create a really simple &amp;micro;Torrent Web Access client that runs on IIS, so I have access to it from work. And now I have something working, I might as well share it for those who want to use it (or extend it).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/andries.metablogapi/1104.uTorrent_5F00_65BF6989.png"&gt;&lt;img height="137" width="542" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/andries.metablogapi/8737.uTorrent_5F00_thumb_5F00_701FF20F.png" alt="uTorrent" border="0" title="uTorrent" style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;It is a very basic solution, with lots of improvement possible. But it works.&lt;/p&gt;
&lt;p&gt;The communication with &amp;micro;Torrent is realized by the DLL in the &lt;a target="_blank" href="http://www.codeplex.com/uTorrentClient"&gt;&amp;micro;Torrent Web Client API Wrapper Library&lt;/a&gt; project on CodePlex. This worked like a charm, except it throws an exception when trying to delete a torrent. (Can&amp;rsquo;t figure out what it is, but the functionality still works, you just receive a message)&lt;/p&gt;
&lt;p&gt;My solution is based on the &lt;a target="_blank" href="http://www.asp.net/ajax/AjaxControlToolkit/Samples/"&gt;ASP.NET Ajax Control Toolkit&lt;/a&gt;, so if you wish to develop on it, you need that installed.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Download here the entire solution:
&lt;div class="wlWriterEditableSmartContent" id="scid:12CF4F9E-00D5-4d59-A727-42B7641FBD93:8a26a3e6-833c-4e76-a88a-9b4e5952ea4e" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt; &lt;a target="_self" href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/andries.metablogapi/0383.uTorrentIISClientSolution_5F00_02589305.zip"&gt;uTorrentIISClient.zip&lt;/a&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;div&gt;
&lt;p&gt;Download here the Web Access client:
&lt;div class="wlWriterEditableSmartContent" id="scid:12CF4F9E-00D5-4d59-A727-42B7641FBD93:afc5fcef-7774-4151-974a-d36a38ec3e74" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt; &lt;a target="_self" href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/andries.metablogapi/4722.uTorrentIISClient_5F00_41D27E30.zip"&gt;uTorrentIISClient.zip&lt;/a&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482820" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Windows+Home+Server/default.aspx">Windows Home Server</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/ASP/default.aspx">ASP</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/IIS/default.aspx">IIS</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/_26002300_181_3B00_Torrent/default.aspx">&amp;#181;Torrent</category></item></channel></rss>