<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Alkampfer's Place</title>
	
	<link>http://www.codewrecks.com/blog</link>
	<description>Wrecks of code floating in the sea of Internet By Ricci Gian Maria</description>
	<lastBuildDate>Wed, 22 May 2013 07:19:31 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/AlkampferEng" /><feedburner:info uri="alkampfereng" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>43.44754459758882</geo:lat><geo:long>12.84752368927002</geo:long><creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license><image><url>http://www.feedburner.com/fb/images/pub/fb_pwrd.gif</url></image><feedburner:emailServiceId>AlkampferEng</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Continuous Deployment on Windows Azure with Database projects</title>
		<link>http://feedproxy.google.com/~r/AlkampferEng/~3/iPjiIINird0/</link>
		<comments>http://www.codewrecks.com/blog/index.php/2013/05/22/continuous-deployment-on-windows-azure-with-database-projects/#comments</comments>
		<pubDate>Wed, 22 May 2013 07:19:31 +0000</pubDate>
		<dc:creator>Ricci Gian Maria</dc:creator>
				<category><![CDATA[Visual Studio ALM]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Continuous Deployment]]></category>

		<guid isPermaLink="false">http://www.codewrecks.com/blog/?p=4425</guid>
		<description><![CDATA[I’ve already blogged about Deploying on Azure Web Site with Database Project in the past, but in that article I showed how to accomplish it with customization of the Build Template. That technique is useful because quite often you need to run custom scripts or tools to do additional deploy related procedures to the site, [...]]]></description>
				<content:encoded><![CDATA[<p>I’ve already blogged about <a href="http://www.codewrecks.com/blog/index.php/2013/03/15/tf-service-deploy-on-azure-web-site-with-database-project/" target="_blank">Deploying on Azure Web Site with Database Project</a> in the past, but in that article I showed how to accomplish it with customization of the Build Template. That technique is useful because quite often you need to <strong>run custom scripts or tools to do additional deploy related procedures to the site</strong>, but <em>if your need is simply deploying schema change to an Azure Database with a Database Project you can accomplish it even without the need to touch the Build Workflow</em>.</p>
<p>First of all download the publishing profile from your azure site.</p>
<p><a href="http://www.codewrecks.com/blog/wp-content/uploads/2013/05/image3.png"><img width="581" height="368" title="image" style="border: 0px currentcolor; display: inline; background-image: none;" alt="image" src="http://www.codewrecks.com/blog/wp-content/uploads/2013/05/image_thumb3.png" border="0"></a></p>
<p><strong>Figure 1: </strong><em>Download publishing profile from Azure Web Site</em></p>
<p>Once you have publishing profile, <strong>it can be imported in Visual Studio</strong>, just Right-Click on Project node inside Visual Studio and choose Publish. From there you can import publishing profile just downloaded and modify it for your need.</p>
<p><a href="http://www.codewrecks.com/blog/wp-content/uploads/2013/05/image4.png"><img width="597" height="257" title="image" style="border: 0px currentcolor; display: inline; background-image: none;" alt="image" src="http://www.codewrecks.com/blog/wp-content/uploads/2013/05/image_thumb4.png" border="0"></a></p>
<p><strong>Figure 2: </strong><em>Importing publishing profile from Visual Studio</em></p>
<p>From the settings tab you have the option to specify a .dacpac file to update database schema.</p>
<p><a href="http://www.codewrecks.com/blog/wp-content/uploads/2013/05/image5.png"><img width="719" height="363" title="image" style="border: 0px currentcolor; display: inline; background-image: none;" alt="image" src="http://www.codewrecks.com/blog/wp-content/uploads/2013/05/image_thumb5.png" border="0"></a></p>
<p><strong>Figure 3:</strong><em>&nbsp; Use a .dacpac to deploy database schema changes</em></p>
<p>Unfortunately this configuration is good from direct publishing with Visual Studio, but to make it works during a TFS Build you need to do some manual modification. Once the modified publishing file is changed, you can find it inside Properties/PublishProfiles node of your project, and you can edit it with a simple XML Editor.</p>
<p><a href="http://www.codewrecks.com/blog/wp-content/uploads/2013/05/image6.png"><img width="941" height="237" title="image" style="border: 0px currentcolor; display: inline; background-image: none;" alt="image" src="http://www.codewrecks.com/blog/wp-content/uploads/2013/05/image_thumb6.png" border="0"></a></p>
<p><strong>Figure 4: </strong><em>Modify the location of the dacpac to match the location this file will have during TFS build</em></p>
<p>The trick here is <strong>modifying the path of the .dacpac file to match its location in the build server during the build</strong>. Knowing the location is quite simple, usually I map an entire branch (trunk, main or some release branch) as root dir for the build</p>
<p><a href="http://www.codewrecks.com/blog/wp-content/uploads/2013/05/image7.png"><img width="572" height="166" title="image" style="border: 0px currentcolor; display: inline; background-image: none;" alt="image" src="http://www.codewrecks.com/blog/wp-content/uploads/2013/05/image_thumb7.png" border="0"></a></p>
<p><strong>Figure 5: </strong><em>Workspace configuration of Deploy build</em></p>
<p>Now I need to examine the structure of project folders, suppose the trunk has a sub-folder called TailspinToys that contains my web site project I want to deploy (called Tailspin.WebUpgraded).</p>
<p><a href="http://www.codewrecks.com/blog/wp-content/uploads/2013/05/image8.png"><img width="299" height="382" title="image" style="border: 0px currentcolor; display: inline; background-image: none;" alt="image" src="http://www.codewrecks.com/blog/wp-content/uploads/2013/05/image_thumb8.png" border="0"></a></p>
<p><strong>Figure 6: </strong><em>Folder structure of my project</em></p>
<p>When the build takes place,<strong> all build output (including all .dacpac files) are stored in a folder called bin that is one level above the folder you mapped in the build workspace</strong>. To locate the build file during publish, I need to go three folder up to locate the parent of the trunk (my project is in Trunk\TailspinToys\Tailspin.WebUpgraded) then adding bin and the name of the .dacpac file. So the location of dacpac file is ..\..\..\bin\xxxxx.dacpac as you can see in <strong>Figure 4. </strong>Do not worry if it seems complicated, it is just a matter of a couple of tentative to find the root folder <img src='http://www.codewrecks.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p>Once the publish file was modified and checked-in you can use it in your build definition.</p>
<p><a href="http://www.codewrecks.com/blog/wp-content/uploads/2013/05/image9.png"><img width="937" height="133" title="image" style="border: 0px currentcolor; display: inline; background-image: none;" alt="image" src="http://www.codewrecks.com/blog/wp-content/uploads/2013/05/image_thumb9.png" border="0"></a></p>
<p><strong>Figure 7: </strong><em>Choose your new publish file as a publishing profile for the build.</em></p>
<p>Now you can run the build and database linked to the Web Site will be automatically updated with the definition of your Database Project.</p>
<p>Gian Maria.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=iPjiIINird0:-Rx4Msisplo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=iPjiIINird0:-Rx4Msisplo:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=iPjiIINird0:-Rx4Msisplo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?i=iPjiIINird0:-Rx4Msisplo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=iPjiIINird0:-Rx4Msisplo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=iPjiIINird0:-Rx4Msisplo:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=TzevzKxY174" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlkampferEng/~4/iPjiIINird0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.codewrecks.com/blog/index.php/2013/05/22/continuous-deployment-on-windows-azure-with-database-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.codewrecks.com/blog/index.php/2013/05/22/continuous-deployment-on-windows-azure-with-database-projects/</feedburner:origLink></item>
		<item>
		<title>Visual Studio ALM Links Week 20</title>
		<link>http://feedproxy.google.com/~r/AlkampferEng/~3/mEhnoGAGATM/</link>
		<comments>http://www.codewrecks.com/blog/index.php/2013/05/18/visual-studio-alm-links-week-20/#comments</comments>
		<pubDate>Sat, 18 May 2013 08:19:00 +0000</pubDate>
		<dc:creator>Ricci Gian Maria</dc:creator>
				<category><![CDATA[Visual Studio ALM]]></category>

		<guid isPermaLink="false">http://www.codewrecks.com/blog/?p=4401</guid>
		<description><![CDATA[Microsoft TFS Goes Mobile With Perfecto MobileCloud Configure Test Plans for Web Access in TFS 2012.2 Getting Started with LibGit2Sharp Team Foundation Service Update – May 13 Agilethought ALM Experts Present Free Visual STudio Webinars Known Issue and Workaround for TFS 2012 Update 3 RC1 Quality Enablement with Visual Studio 2012 Gian Maria]]></description>
				<content:encoded><![CDATA[<ul>
<li><a target="_blank" href="http://www.eweek.com/developer/microsoft-tfs-goes-mobile-with-perfecto-mobilecloud/" target="_blank">Microsoft TFS Goes Mobile With Perfecto MobileCloud</a>
<li><a target="_blank" href="http://nakedalm.com/configure-test-plans-for-web-access-in-tfs-2012-2/" target="_blank">Configure Test Plans for Web Access in TFS 2012.2</a>
<li><a target="_blank" href="http://www.woodwardweb.com/git/getting_started_2.html" target="_blank">Getting Started with LibGit2Sharp</a>
<li><a target="_blank" href="http://blogs.msdn.com/b/bharry/archive/2013/05/14/team-foundation-service-update-may-13.aspx?utm_source=feedly">Team Foundation Service Update – May 13</a></li>
<li><a target="_blank" href="http://www.agilethought.com/about/news-events/agilethought-alm-experts-present-free-visual-studio-webinars-with-microsoft" target="_blank">Agilethought ALM Experts Present Free Visual STudio Webinars</a></li>
<li><a target="_blank" href="http://blogs.msdn.com/b/visualstudioalm/archive/2013/05/15/known-issue-and-workaround-for-tfs-2012-update-3-rc1.aspx" target="_blank">Known Issue and Workaround for TFS 2012 Update 3 RC1</a></li>
<li><a target="_blank" href="http://nakedalm.com/quality-enablement-with-visual-studio-2012" target="_blank">Quality Enablement with Visual Studio 2012</a></li>
</ul>
<p>Gian Maria</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=mEhnoGAGATM:Ow4esJyxFJ8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=mEhnoGAGATM:Ow4esJyxFJ8:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=mEhnoGAGATM:Ow4esJyxFJ8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?i=mEhnoGAGATM:Ow4esJyxFJ8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=mEhnoGAGATM:Ow4esJyxFJ8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=mEhnoGAGATM:Ow4esJyxFJ8:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=TzevzKxY174" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlkampferEng/~4/mEhnoGAGATM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.codewrecks.com/blog/index.php/2013/05/18/visual-studio-alm-links-week-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.codewrecks.com/blog/index.php/2013/05/18/visual-studio-alm-links-week-20/</feedburner:origLink></item>
		<item>
		<title>Visual Studio ALM Links Week 19</title>
		<link>http://feedproxy.google.com/~r/AlkampferEng/~3/JPiZNk1lEEI/</link>
		<comments>http://www.codewrecks.com/blog/index.php/2013/05/11/visual-studio-alm-links-week-19/#comments</comments>
		<pubDate>Sat, 11 May 2013 07:11:00 +0000</pubDate>
		<dc:creator>Ricci Gian Maria</dc:creator>
				<category><![CDATA[Visual Studio ALM]]></category>

		<guid isPermaLink="false">http://www.codewrecks.com/blog/?p=4385</guid>
		<description><![CDATA[Better Multi User Support for Work Item Tracking in TFS 2012 Naked ALM: starting with why and getting naked Help Content for the Agile Planning Tools gets a makeover with TFS CU2 Visual Studio Update 2012.3 Update 3 “go-Live” CTP is now available Finding Event Subscriptions in TFS 2012 using Power Shell Testing Java and [...]]]></description>
				<content:encoded><![CDATA[<ul>
<li><a target="_blank" href="http://blogs.msdn.com/b/slange/archive/2013/05/01/better-multi-user-support-for-work-item-tracking-in-tfs-2012.aspx" target="_blank">Better Multi User Support for Work Item Tracking in TFS 2012</a></li>
<li><a target="_blank" href="http://nakedalm.com/naked-alm-starting-with-why-and-getting-naked/" target="_blank">Naked ALM: starting with why and getting naked</a></li>
<li><a target="_blank" href="http://blogs.msdn.com/b/visualstudioalm/archive/2013/04/17/agile-planning-tools-help-content-gets-a-makeover-with-tfs-cu2.aspx" target="_blank">Help Content for the Agile Planning Tools gets a makeover with TFS CU2</a></li>
<li><a target="_blank" href="http://blogs.msdn.com/b/bharry/archive/2013/05/07/visual-studio-2012-3-update-3-go-live-ctp-is-now-available.aspx" target="_blank">Visual Studio Update 2012.3 Update 3 “go-Live” CTP is now available</a></li>
<li><a target="_blank" href="http://blogs.msdn.com/b/alming/archive/2013/05/06/finding-subscriptions-in-tfs-2012-using-powershell.aspx?utm_source=feedly" target="_blank">Finding Event Subscriptions in TFS 2012 using Power Shell</a></li>
<li><a target="_blank" href="http://blogs.msdn.com/b/visualstudioalm/archive/2013/04/23/testing-java-applications-with-squish-and-microsoft-test-professional.aspx" target="_blank">Testing Java and Cross Platform applications with Squish and Microsoft Test Professional</a></li>
<li><a target="_blank" href="http://www.dotnetcurry.com/ShowArticle.aspx?ID=892" target="_blank">Embracing SCRUM and CMMI in TFS 2012</a></li>
</ul>
<p>Gian Maria</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=JPiZNk1lEEI:rbN4SUWHWMY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=JPiZNk1lEEI:rbN4SUWHWMY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=JPiZNk1lEEI:rbN4SUWHWMY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?i=JPiZNk1lEEI:rbN4SUWHWMY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=JPiZNk1lEEI:rbN4SUWHWMY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=JPiZNk1lEEI:rbN4SUWHWMY:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=TzevzKxY174" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlkampferEng/~4/JPiZNk1lEEI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.codewrecks.com/blog/index.php/2013/05/11/visual-studio-alm-links-week-19/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.codewrecks.com/blog/index.php/2013/05/11/visual-studio-alm-links-week-19/</feedburner:origLink></item>
		<item>
		<title>NDepend 4 and CQLinq</title>
		<link>http://feedproxy.google.com/~r/AlkampferEng/~3/1UQ2qj6R4QY/</link>
		<comments>http://www.codewrecks.com/blog/index.php/2013/05/07/ndepend-4-and-cqlinq/#comments</comments>
		<pubDate>Tue, 07 May 2013 19:01:35 +0000</pubDate>
		<dc:creator>Ricci Gian Maria</dc:creator>
				<category><![CDATA[Tools and library]]></category>
		<category><![CDATA[NDepend]]></category>

		<guid isPermaLink="false">http://www.codewrecks.com/blog/?p=4396</guid>
		<description><![CDATA[You already know that I’m a fan of NDepend because it is a really useful tool to have a deep insight on your code and especially to spot out troublesome areas in your project. With version 4 it added a really cool capability called CQLinq or Code Query Linq; an amazing feature that permits you [...]]]></description>
				<content:encoded><![CDATA[<p>You already know that <a href="http://www.codewrecks.com/blog/index.php/2010/11/03/ndepend-to-the-resque/">I’m a fan of NDepend</a> because <strong>it is a really useful tool to have a deep insight on your code and especially to spot out troublesome areas in your project</strong>.</p>
<p>With version 4 it added a really cool capability called <a target="_blank" href="http://www.ndepend.com/doc_cqlinq_features.aspx">CQLinq</a> or Code Query Linq; an amazing feature that permits you to query your code using LINQ stile queries. Basically after I’ve analyzed a solution I got presented with a simple dialog that asked me what I’m interested to do primarily with the result of the analysis.</p>
<p><a href="http://www.codewrecks.com/blog/wp-content/uploads/2013/05/image.png"><img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="http://www.codewrecks.com/blog/wp-content/uploads/2013/05/image_thumb.png" width="656" height="243"></a> </p>
<p>This feature is really amazing because you can query your code to find almost everything. It would be really long to show you every capability of CQLinq, you can read about it in <a target="_blank" href="http://www.ndepend.com/doc_cqlinq_syntax.aspx">official documentation</a>, but I want to give you just a taste of what you can achieve with it.</p>
<p><a href="http://www.codewrecks.com/blog/wp-content/uploads/2013/05/image1.png"><img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="http://www.codewrecks.com/blog/wp-content/uploads/2013/05/image_thumb1.png" width="480" height="368"></a> </p>
<p>Here I’m <strong>simply selecting all the methods that contains more than 30 lines of code and in the select part I’m interested in the number of comment lines</strong>. Long methods are painful, but if you find a method of 40 lines with 30 lines of comment you are in trouble, because if a developer put so much comment in long method, surely there is some weird logic in it.</p>
<p>CQLinq is full of interesting features, as an example if you select from JustMyCode.Methods you are actually selecting only your code, and not code generated from UI Designer. This will permit you to focus primary on your code and avoiding to have the result of the query polluted by Designer generated code.</p>
<p><strong>NDepend designer fully support intellisense </strong>and this really helps you to achieve the result in really little time, the result is immediately shown below the query as soon as the query compiles, and if you made some mistake you are immediately presented with a simple list of compiling errors that makes you understand what is wrong with the query.</p>
<p><a href="http://www.codewrecks.com/blog/wp-content/uploads/2013/05/image2.png"><img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="http://www.codewrecks.com/blog/wp-content/uploads/2013/05/image_thumb2.png" width="527" height="257"></a> </p>
<p>As usual I think that NDepend is a must-to-have tool especially if you need to find problem in legacy code. I strongly suggest you to check out all the possibility on <a target="_blank" href="http://www.ndepend.com/doc_cqlinq_features.aspx">official documentation page</a>, to have an idea of the capability of the tool.</p>
<p>You can also download a trial of the product to try out by yourself in your project.</p>
<p>Gian Maria.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=1UQ2qj6R4QY:ZSLo6AP5PYE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=1UQ2qj6R4QY:ZSLo6AP5PYE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=1UQ2qj6R4QY:ZSLo6AP5PYE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?i=1UQ2qj6R4QY:ZSLo6AP5PYE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=1UQ2qj6R4QY:ZSLo6AP5PYE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=1UQ2qj6R4QY:ZSLo6AP5PYE:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=TzevzKxY174" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlkampferEng/~4/1UQ2qj6R4QY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.codewrecks.com/blog/index.php/2013/05/07/ndepend-4-and-cqlinq/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.codewrecks.com/blog/index.php/2013/05/07/ndepend-4-and-cqlinq/</feedburner:origLink></item>
		<item>
		<title>Unit Test class that makes use of HttpWebRequest thanks to Visual Studio fakes library</title>
		<link>http://feedproxy.google.com/~r/AlkampferEng/~3/HrW1MRu3Dbw/</link>
		<comments>http://www.codewrecks.com/blog/index.php/2013/05/04/unit-test-class-that-makes-use-of-httpwebrequest-thanks-to-visual-studio-fakes-library/#comments</comments>
		<pubDate>Sat, 04 May 2013 09:28:14 +0000</pubDate>
		<dc:creator>Ricci Gian Maria</dc:creator>
				<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Fakes]]></category>
		<category><![CDATA[Unit Testing]]></category>

		<guid isPermaLink="false">http://www.codewrecks.com/blog/?p=4384</guid>
		<description><![CDATA[Thanks to Visual Studio Fakes is it possible to isolate your unit test and testing difficult to test code. Today I need to test a class that issues some Web Request around the internet and I’m concerned about testing the SUT when the web response contains some specific code like 404 (Not Found) or something. [...]]]></description>
				<content:encoded><![CDATA[<p>Thanks to <a target="_blank" href="http://msdn.microsoft.com/en-us/library/hh549175.aspx" target="_blank">Visual Studio Fakes</a> is it possible to isolate your unit test and testing <em>difficult to test code</em>. Today I need to test a class that issues some Web Request around the internet and I’m concerned about <strong>testing the SUT when the web response contains some specific code like 404</strong> (Not Found) or something. </p>
<p>If you simply right-click the reference to system assembly in your project and Add a fakes assembly, you probably will be annoyed by the fact that when you try to create a ShimHttpWebRequest you are not able to do it. When some shim are not available, the reason is usually due to <strong>some limitation of fakes library, so types are skipped when shims and stub code are generated</strong> (during compilation).</p>
<p>Apart not being able to use a shim of HttpWebRequest, <strong>when you add a fakes assembly to Visual Studio test project, you are actually asking to the fakes library to create a stub and a shim for every class of that assembly</strong>, and this can be a problem because</p>
<ol>
<li>Your build time increase</li>
<li>Some classes probably will not be generated due to Fakes Limitation</li>
</ol>
<p>Solution is simple, just locate the System.Fakes files under Fakes directory of your test project, they usually contain only the name of the assembly and nothing more. This is the default and basically it means: Create a shim and a stub for every type in that assembly. You should change that file to <strong>specify only the types you are really going to use in your Unit Tests</strong>. Es.</p>
<div class="wlWriterEditableSmartContent" id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:54927c94-8175-4ac2-9ee7-3b56dfcd2687" style="margin: 0px; padding: 0px; float: none; display: inline;">
<pre style=white-space:normal>
<pre class="brush: xml; pad-line-numbers: true; title: ; notranslate">
&lt;Fakes xmlns=&quot;http://schemas.microsoft.com/fakes/2011/&quot; Diagnostic=&quot;true&quot;&gt;
  &lt;Assembly Name=&quot;System&quot; Version=&quot;4.0.0.0&quot;/&gt;
  &lt;StubGeneration&gt;
    &lt;Clear /&gt;
  &lt;/StubGeneration&gt;
  &lt;ShimGeneration&gt;
    &lt;Clear /&gt;
    &lt;Add FullName=&quot;System.Net.WebRequest!&quot;/&gt;
    &lt;Add FullName=&quot;System.Net.HttpWebRequest!&quot;/&gt;
    &lt;Add FullName=&quot;System.Net.HttpWebResponse!&quot;/&gt;
  &lt;/ShimGeneration&gt;
&lt;/Fakes&gt;
</pre>
</div>
<p>This code is actually instructing the Fakes library on what class you are going to use. In the above example I’m telling that I’m not going to use any Stub and I want to use Shim for WebRequest, HttpWebRequest and HttpWebResponse. If you specify<strong> only the classes you are really going to isolate, build time will be shorter, and there is much more possibility that shims gets generated</strong>.</p>
<p>Remember also that when you create fake library for System assembly you actually will get two distinct fakes configuration, one for system, and the other for Mscorlib.fakes. I usually modify the mscorlib.fakes in such a way.</p>
<div class="wlWriterEditableSmartContent" id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:a1aa7de8-ba31-4bf9-814b-734612a2eddb" style="margin: 0px; padding: 0px; float: none; display: inline;">
<pre style=white-space:normal>
<pre class="brush: xml; pad-line-numbers: true; title: ; notranslate">
&lt;Fakes xmlns=&quot;http://schemas.microsoft.com/fakes/2011/&quot;&gt;
  &lt;Assembly Name=&quot;mscorlib&quot; Version=&quot;4.0.0.0&quot;/&gt;
  &lt;StubGeneration&gt;
    &lt;Clear /&gt;
  &lt;/StubGeneration&gt;
  &lt;ShimGeneration&gt;
    
    
  &lt;/ShimGeneration&gt;
&lt;/Fakes&gt;
</pre>
</div>
<p>For some reason, I need not to clear ShimGeneration for Mscorlib entirely, because it will makes Unit Test stop with StackOverflowException in my system even if I’m not going to use any class for mscorlib. </p>
<p>Now I can write shim for HttpWebResponse</p>
<div class="wlWriterEditableSmartContent" id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:5077e8b3-3e24-4192-b722-62cb76d15a0e" style="margin: 0px; padding: 0px; float: none; display: inline;">
<pre style=white-space:normal>
<pre class="brush: csharp; title: ; notranslate">
ShimHttpWebResponse res = new ShimHttpWebResponse();
res.StatusCodeGet = () =&gt; HttpStatusCode.NotFound;
</pre>
</div>
<p>This simple snippet created a fake response to identify a NotFound (404) web response. I can now proceed to isolate call to WebRequest to return that instance and write Unit Tests that isolates calls to WebRequest classes. A full possible test is the following.</p>
<div class="wlWriterEditableSmartContent" id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:7be9ac6b-7e56-416b-88b3-96cfc8f7f4da" style="margin: 0px; padding: 0px; float: none; display: inline;">
<pre style=white-space:normal>
<pre class="brush: csharp; title: ; notranslate">
[Test]
public void Verify_behavior_on_404()
{
    using (ShimsContext.Create())
    {
        SolrServer sut = new SolrServer(&quot;http://nonexistent.url.it/solr/blbalba&quot;);
        sut.Logger = NullLogger.Instance;


        ShimHttpWebResponse res = new ShimHttpWebResponse();
        res.StatusCodeGet = () =&gt; HttpStatusCode.NotFound;

        ShimWebException wex = new ShimWebException();
        wex.ResponseGet = () =&gt; res;

        ShimHttpWebRequest.AllInstances.GetResponse = url =&gt; { throw (WebException) wex; };
        sut.RawSearch(&quot;*:*&quot;, &quot;id,name&quot;, 0, 100);
    }
}
</pre>
</div>
<p>With these few lines of code I’m telling that each request to all instance of HttpWebRequest should throw a specific WebException that will behave as I want. This absolutely invaluable if you need to test various response such of 403 if you are trying to simulate authentication or 500 if you need to simulate some particular error of called service. The good part of this kind of test is that <strong>the Sut was absolutely not designed to be unit tested</strong>. Here is the code in the Sut that is issuing call to Solr server</p>
<div class="wlWriterEditableSmartContent" id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:5d5926d1-bd3a-44f0-ad1c-a04ec9cf3033" style="margin: 0px; padding: 0px; float: none; display: inline;">
<pre style=white-space:normal>
<pre class="brush: csharp; title: ; notranslate">
HttpWebRequest oRequest = (HttpWebRequest)WebRequest.Create(fullUrl);
if (Logger.IsDebugEnabled) Logger.Debug(&quot;Solar query &quot; + fullUrl);
oRequest.Method = &quot;GET&quot;;
HttpWebResponse oResponse = null;
try
{
    oResponse = (HttpWebResponse)oRequest.GetResponse();
}
catch (WebException e)
</pre>
</div>
<p>As you can see the code directly create an HttpWebRequest and issue a GET Request, but <strong>thanks to fakes library during the test the call to GetResponse are detoured to my test code</strong>.</p>
<p><em>Remember also that after Visual Studio Quarterly Update 2 fakes library is now available even in Premium edition and not only Ultimate.</em></p>
<p>Gian Maria</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=HrW1MRu3Dbw:hdRo987EXcs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=HrW1MRu3Dbw:hdRo987EXcs:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=HrW1MRu3Dbw:hdRo987EXcs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?i=HrW1MRu3Dbw:hdRo987EXcs:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=HrW1MRu3Dbw:hdRo987EXcs:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=HrW1MRu3Dbw:hdRo987EXcs:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=TzevzKxY174" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlkampferEng/~4/HrW1MRu3Dbw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.codewrecks.com/blog/index.php/2013/05/04/unit-test-class-that-makes-use-of-httpwebrequest-thanks-to-visual-studio-fakes-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.codewrecks.com/blog/index.php/2013/05/04/unit-test-class-that-makes-use-of-httpwebrequest-thanks-to-visual-studio-fakes-library/</feedburner:origLink></item>
		<item>
		<title>Visual Studio ALM Links–Week 18 / 2013</title>
		<link>http://feedproxy.google.com/~r/AlkampferEng/~3/MogZlgW73qo/</link>
		<comments>http://www.codewrecks.com/blog/index.php/2013/05/04/visual-studio-alm-linksweek-18-2013/#comments</comments>
		<pubDate>Sat, 04 May 2013 09:17:00 +0000</pubDate>
		<dc:creator>Ricci Gian Maria</dc:creator>
				<category><![CDATA[Visual Studio ALM]]></category>

		<guid isPermaLink="false">http://www.codewrecks.com/blog/?p=4376</guid>
		<description><![CDATA[You are doing it wrong if you are not using test first Upgrading your process template from MSF For Agile 4 to Visual Studio Scrum 2.x Use code Maps to understand code relationship Team Explorer Everywhere 2012 Update 2 Connect to TFS 2012 from VS 2005 even from Windows XP Quality Enablement&#160; with Microsoft Visual [...]]]></description>
				<content:encoded><![CDATA[<ul>
<li><a target="_blank" href="http://blog.hinshelwood.com/you-are-doing-it-wrong-if-you-are-not-using-test-first/" target="_blank">You are doing it wrong if you are not using test first</a></li>
<li><a target="_blank" href="http://blog.hinshelwood.com/upgrading-your-process-template-from-msf-for-agile-4-to-visual-studio-scrum-2-x" target="_blank">Upgrading your process template from MSF For Agile 4 to Visual Studio Scrum 2.x</a></li>
<li><a target="_blank" href="http://visualstudiomagazine.com/articles/2013/04/25/use-code-maps-to-understand-code-relationships.aspx" target="_blank">Use code Maps to understand code relationship</a></li>
<li><a target="_blank" href="http://blogs.msdn.com/b/bharry/archive/2013/04/29/team-explorer-everywhere-2012-update-2.aspx?utm_source=feedly" target="_blank">Team Explorer Everywhere 2012 Update 2</a></li>
<li><a target="_blank" href="http://blogs.msdn.com/b/bharry/archive/2013/04/29/updated-tfs-2010-msscci-provider.aspx?utm_source=feedly" target="_blank">Connect to TFS 2012 from VS 2005 even from Windows XP</a></li>
<li><a target="_blank" href="http://blog.nwcadence.com/quality-enablement-with-microsoft-visual-studio-2012/" target="_blank">Quality Enablement&nbsp; with Microsoft Visual Studio 2012</a></li>
<li><a target="_blank" href="http://social.msdn.microsoft.com/Forums/en-US/vssetup/thread/428fb41f-5ddd-4405-9982-cf507ba2a284" target="_blank">Deploy Visual Studio 2012 Update 2 through SCCM</a></li>
</ul>
<p>Gian Maria</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=MogZlgW73qo:ko8JjBVaI8g:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=MogZlgW73qo:ko8JjBVaI8g:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=MogZlgW73qo:ko8JjBVaI8g:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?i=MogZlgW73qo:ko8JjBVaI8g:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=MogZlgW73qo:ko8JjBVaI8g:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=MogZlgW73qo:ko8JjBVaI8g:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=TzevzKxY174" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlkampferEng/~4/MogZlgW73qo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.codewrecks.com/blog/index.php/2013/05/04/visual-studio-alm-linksweek-18-2013/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.codewrecks.com/blog/index.php/2013/05/04/visual-studio-alm-linksweek-18-2013/</feedburner:origLink></item>
		<item>
		<title>Loading data from Sql Server to Solr with a Data Import Handler</title>
		<link>http://feedproxy.google.com/~r/AlkampferEng/~3/0VTrczIljlE/</link>
		<comments>http://www.codewrecks.com/blog/index.php/2013/04/29/loading-data-from-sql-server-to-solr-with-a-data-import-handler/#comments</comments>
		<pubDate>Mon, 29 Apr 2013 16:34:00 +0000</pubDate>
		<dc:creator>Ricci Gian Maria</dc:creator>
				<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://www.codewrecks.com/blog/?p=4374</guid>
		<description><![CDATA[Apache Solr is an exceptional engine for Enterprise Search based on Lucene and usually the first question I got is: how can I integrate Solr with an existing Sql Server data storage to power up searches. Solr is used not as a primary data store because it is a Search Platform whose primary purpose is [...]]]></description>
				<content:encoded><![CDATA[<p><a target="_blank" href="http://lucene.apache.org/solr/" target="_blank">Apache Solr</a> is an exceptional engine for Enterprise Search based on Lucene and usually the first question I got is: <strong>how can I integrate Solr with an existing Sql Server data storage to power up searches</strong>.</p>
<p>Solr is used not as a primary data store because it is a Search Platform whose primary purpose is giving the ability to do complex searches with blazing performance. This means that you usually have your data in a primary data store, Es. Sql Server and you need to move data to a Solr server to power up your searches.</p>
<p>Quite often you do not need real-time update, you can simply update your solr server nightly, or at given interval (update each X hours). In this scenario <strong>there is not the need to setup a mechanism that immediately replicate modification of Primary data store to Solr and you can rely on DIH: </strong><a target="_blank" href="http://wiki.apache.org/solr/DataImportHandler" target="_blank"><strong>Data Import Handler</strong></a>. Suppose you have your data inside a Sql Server inside a table called tag; the first operation you need to do is locating all jar libraries that are needed to use DIH with Solr.</p>
<p><a href="http://www.codewrecks.com/blog/wp-content/uploads/2013/04/image14.png"><img width="607" height="174" title="image" style="border: 0px currentcolor" alt="image" src="http://www.codewrecks.com/blog/wp-content/uploads/2013/04/image_thumb14.png" border="0"></a></p>
<p><strong>Figure 1: </strong><em>Copy all needed library inside the lib folder of core home directory</em></p>
<p>I use Solr with multi core configuration, my solr test instance is installed in c:\solr\TestInstance and inside that root directory I have multiple cores used to run different schema and configurations. Inside each core <strong>you should create a lib directory to store all jar files are needed for that specific core</strong>. To run DIH you need to copy <em>apache-solr-dataimporthandler</em> and <em>apache-solr-dataimporthandler-extras</em> taken from solr main distribution (zipped file you download from Apache Solar site). I’ve added also sqljdbc4.jar that contains classes needed to connect to a SqlServer database from java jdbc. </p>
<p>First step is creating the Data Import configuration file, to specify how you want to import data inside your Solr.</p>
<div style="margin: 0px;padding: 0px;float: none">
<div class="wlWriterEditableSmartContent" id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:ce84b146-40bf-4314-b015-c815af53f73f" style="margin: 0px;padding: 0px;float: none">
<pre>
<pre class="brush: xml; title: ; notranslate">
dataConfig&gt;  
	&lt;dataSource type=&quot;JdbcDataSource&quot; 
			driver=&quot;com.microsoft.sqlserver.jdbc.SQLServerDriver&quot; 
			url=&quot;jdbc:sqlserver://10.0.0.102;databaseName=Dictionary;&quot; 
			user=&quot;sa&quot; 
			password=&quot;xxxxxxxx&quot; 
			batchSize=&quot;5&quot; /&gt; 
			
    &lt;document name=&quot;TestDocument&quot;&gt;  
        &lt;entity name=&quot;TestEntity&quot; query=&quot;SELECT * FROM tag&quot;&gt;  
			&lt;field column=&quot;Id&quot; name=&quot;id&quot; /&gt;
            &lt;field column=&quot;Term&quot; name=&quot;term&quot; /&gt;  
            &lt;field column=&quot;Name&quot; name=&quot;name&quot; /&gt;  
        &lt;/entity&gt;  
    &lt;/document&gt;  
&lt;/dataConfig&gt; 
</pre>
</div>
</div>
<p>I usually call this file data-import.xml but you can use whatever name you want. <strong>DataSource node is used to specifies class of the driver to use, connection string with username and password</strong> and other option, Es batchSize to specify how many row at a time should be fetched from the data store. Once you have defined a DataSource you should at least specify one Document containing one entity, where each entity is composed at least by a query and a series of fields. The query is the simple SQL code that will be issued to the Data Store and <strong>fields are used to specify mapping from column of the query and field in schema.xml of that core</strong>.</p>
<p>This is the minimal configuration that is used to load data from Sql Server to Solr, after you created this file you need to specify the handler inside the solrconfig.xml file.</p>
<div class="wlWriterEditableSmartContent" id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:9576fdfc-b0a0-41ea-95de-e000ba7f1c7c" style="margin: 0px;padding: 0px;float: none">
<pre>
<pre class="brush: xml; title: ; notranslate">
&lt;requestHandler name=&quot;/dataimport&quot; class=&quot;org.apache.solr.handler.dataimport.DataImportHandler&quot;&gt;     

	&lt;lst name=&quot;defaults&quot;&gt;    
		&lt;str name=&quot;config&quot;&gt;data.import.xml&lt;/str&gt;  
	&lt;/lst&gt;    
&lt;/requestHandler&gt;  
</pre>
</div>
<p>Now everything is in place, you can go to the Dataimport section of the core you configured and you can execute the import handler.</p>
<p><a href="http://www.codewrecks.com/blog/wp-content/uploads/2013/04/image15.png"><img width="1000" height="642" title="image" style="border: 0px currentcolor" alt="image" src="http://www.codewrecks.com/blog/wp-content/uploads/2013/04/image_thumb15.png" border="0"></a></p>
<p><strong>Figure 2: </strong><em>Import data with standard solr web interface.</em></p>
<p>You can now check that after the import solr contains data you expect.</p>
<p><a href="http://www.codewrecks.com/blog/wp-content/uploads/2013/04/image16.png"><img width="1055" height="255" title="image" style="border: 0px currentcolor" alt="image" src="http://www.codewrecks.com/blog/wp-content/uploads/2013/04/image_thumb16.png" border="0"></a></p>
<p><strong>Figure 3: </strong><em>Simple *:* query to verify that data was really imported from the DIH</em></p>
<p>Thanks to few xml lines of code you are able to import data from Sql Server to Solr without the need to write a single line of code.</p>
<p>Gian Maria.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=0VTrczIljlE:GFRUEqzuPB8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=0VTrczIljlE:GFRUEqzuPB8:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=0VTrczIljlE:GFRUEqzuPB8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?i=0VTrczIljlE:GFRUEqzuPB8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=0VTrczIljlE:GFRUEqzuPB8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AlkampferEng?a=0VTrczIljlE:GFRUEqzuPB8:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/AlkampferEng?d=TzevzKxY174" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AlkampferEng/~4/0VTrczIljlE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.codewrecks.com/blog/index.php/2013/04/29/loading-data-from-sql-server-to-solr-with-a-data-import-handler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.codewrecks.com/blog/index.php/2013/04/29/loading-data-from-sql-server-to-solr-with-a-data-import-handler/</feedburner:origLink></item>
	</channel>
</rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using wincache (Requested URI is rejected)
Database Caching 2/12 queries in 0.044 seconds using wincache
Object Caching 612/648 objects using wincache

 Served from: www.codewrecks.com @ 2013-05-22 08:19:41 by W3 Total Cache -->
