<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>Rajnish Noonia</title>
	<atom:link href="http://www.rajneeshnoonia.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rajneeshnoonia.com/blog</link>
	<description>Technical Blog</description>
	<lastBuildDate>Wed, 02 May 2012 00:36:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Button XAML</title>
		<link>http://www.rajneeshnoonia.com/blog/2012/05/button-xaml/</link>
		<comments>http://www.rajneeshnoonia.com/blog/2012/05/button-xaml/#comments</comments>
		<pubDate>Wed, 02 May 2012 00:12:48 +0000</pubDate>
		<dc:creator>Rajnish Noonia</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://www.rajneeshnoonia.com/blog/?p=1025</guid>
		<description><![CDATA[<p>XAML Button&#8217;s in 5 mins..</p> <p><a href="http://www.rajneeshnoonia.com/blog/wp-content/uploads/2012/05/buttons.png"></a></p> <p>XAML</p> &#60;Grid x:Name=&#34;LayoutRoot&#34; Background=&#34;#FF54126A&#34;&#62;<br /> &#160;&#60;Grid  Height=&#34;87&#34; Width=&#34;400&#34; Margin=&#34;31,85.5,209,0&#34; VerticalAlignment=&#34;Top&#34; d:LayoutOverrides=&#34;Height&#34; &#62;<br /> &#160;&#60;Border Background=&#34;#FF449712&#34; Margin=&#34;1&#34;   CornerRadius=&#34;5&#34; BorderThickness=&#34;1&#34;&#62;<br /> &#160;&#60;Border.BorderBrush&#62;<br /> &#160;&#60;LinearGradientBrush EndPoint=&#34;0.5,1&#34; StartPoint=&#34;0.5,0&#34;&#62;<br /> &#160;&#60;GradientStop Color=&#34;#6D000000&#34; Offset=&#34;0&#34;/&#62;<br /> &#160;&#60;GradientStop Color=&#34;Black&#34; Offset=&#34;0.994&#34;/&#62;<br /> &#160;&#60;/LinearGradientBrush&#62;<br /> &#160;&#60;/Border.BorderBrush&#62;<br /> &#160;&#60;Border.Effect&#62;<br /> &#160;&#60;BlurEffect Radius=&#34;2&#34;/&#62;<br /> &#160;&#60;/Border.Effect&#62;<br /> &#160;&#60;/Border&#62;<br /> &#160;&#60;Border   CornerRadius=&#34;5&#34; [...]]]></description>
			<content:encoded><![CDATA[<p>XAML Button&#8217;s in 5 mins..</p>
<p><a href="http://www.rajneeshnoonia.com/blog/wp-content/uploads/2012/05/buttons.png"><img class="alignleft size-full wp-image-1026" title="buttons" src="http://www.rajneeshnoonia.com/blog/wp-content/uploads/2012/05/buttons.png" alt="" width="251" height="141" /></a></p>
<p>XAML</p>
<div class="dean_ch" style="white-space: wrap;"><span class="sc3"><span class="re1">&lt;Grid</span> <span class="re0">x:Name</span>=<span class="st0">&quot;LayoutRoot&quot;</span> <span class="re0">Background</span>=<span class="st0">&quot;#FF54126A&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;Grid</span>  <span class="re0">Height</span>=<span class="st0">&quot;87&quot;</span> <span class="re0">Width</span>=<span class="st0">&quot;400&quot;</span> <span class="re0">Margin</span>=<span class="st0">&quot;31,85.5,209,0&quot;</span> <span class="re0">VerticalAlignment</span>=<span class="st0">&quot;Top&quot;</span> <span class="re0">d:LayoutOverrides</span>=<span class="st0">&quot;Height&quot;</span> <span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;Border</span> <span class="re0">Background</span>=<span class="st0">&quot;#FF449712&quot;</span> <span class="re0">Margin</span>=<span class="st0">&quot;1&quot;</span>   <span class="re0">CornerRadius</span>=<span class="st0">&quot;5&quot;</span> <span class="re0">BorderThickness</span>=<span class="st0">&quot;1&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;Border</span>.BorderBrush<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;LinearGradientBrush</span> <span class="re0">EndPoint</span>=<span class="st0">&quot;0.5,1&quot;</span> <span class="re0">StartPoint</span>=<span class="st0">&quot;0.5,0&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;GradientStop</span> <span class="re0">Color</span>=<span class="st0">&quot;#6D000000&quot;</span> <span class="re0">Offset</span>=<span class="st0">&quot;0&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;GradientStop</span> <span class="re0">Color</span>=<span class="st0">&quot;Black&quot;</span> <span class="re0">Offset</span>=<span class="st0">&quot;0.994&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/LinearGradientBrush<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/Border</span>.BorderBrush<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;Border</span>.Effect<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;BlurEffect</span> <span class="re0">Radius</span>=<span class="st0">&quot;2&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/Border</span>.Effect<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/Border<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;Border</span>   <span class="re0">CornerRadius</span>=<span class="st0">&quot;5&quot;</span> <span class="re0">Margin</span>=<span class="st0">&quot;3&quot;</span> <span class="re0">BorderThickness</span>=<span class="st0">&quot;0,2,0,0&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;Border</span>.Effect<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;BlurEffect</span> <span class="re0">Radius</span>=<span class="st0">&quot;3&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/Border</span>.Effect<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;Border</span>.BorderBrush<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;LinearGradientBrush</span> <span class="re0">EndPoint</span>=<span class="st0">&quot;0.5,1&quot;</span> <span class="re0">StartPoint</span>=<span class="st0">&quot;0.5,0&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;GradientStop</span> <span class="re0">Color</span>=<span class="st0">&quot;#00000000&quot;</span> <span class="re0">Offset</span>=<span class="st0">&quot;1&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;GradientStop</span> <span class="re0">Color</span>=<span class="st0">&quot;#D7FFFFFF&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/LinearGradientBrush<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/Border</span>.BorderBrush<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;Border</span>.Background<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;LinearGradientBrush</span> <span class="re0">EndPoint</span>=<span class="st0">&quot;0.5,1&quot;</span> <span class="re0">StartPoint</span>=<span class="st0">&quot;0.5,0&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;GradientStop</span> <span class="re0">Color</span>=<span class="st0">&quot;#1DB1B1B1&quot;</span> <span class="re0">Offset</span>=<span class="st0">&quot;0.5&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;GradientStop</span> <span class="re0">Offset</span>=<span class="st0">&quot;0.5&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/LinearGradientBrush<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/Border</span>.Background<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/Border<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;TextBlock</span> <span class="re0">Text</span>=<span class="st0">&quot;Buy Now !&quot;</span> <span class="re0">HorizontalAlignment</span>=<span class="st0">&quot;Center&quot;</span> <span class="re0">VerticalAlignment</span>=<span class="st0">&quot;Center&quot;</span> <span class="re0">Foreground</span>=<span class="st0">&quot;White&quot;</span> <span class="re0">FontSize</span>=<span class="st0">&quot;40&quot;</span>  <span class="re0">FontFamily</span>=<span class="st0">&quot;Segoe UI Symbol&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;TextBlock</span>.Effect<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;DropShadowEffect</span> <span class="re0">BlurRadius</span>=<span class="st0">&quot;10&quot;</span> <span class="re0">ShadowDepth</span>=<span class="st0">&quot;0&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/TextBlock</span>.Effect<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/TextBlock<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/Grid<span class="re2">&gt;</span></span></span></p>
<p>&nbsp;<span class="sc3"><span class="re1">&lt;Grid</span>  <span class="re0">Height</span>=<span class="st0">&quot;87&quot;</span> <span class="re0">Width</span>=<span class="st0">&quot;400&quot;</span> <span class="re0">Margin</span>=<span class="st0">&quot;32,209.5,208,183.5&quot;</span> <span class="re2">&gt;</span></span></p>
<p>&nbsp;<span class="sc3"><span class="re1">&lt;Border</span> <span class="re0">Background</span>=<span class="st0">&quot;#FF0C64CA&quot;</span> <span class="re0">Margin</span>=<span class="st0">&quot;1&quot;</span>   <span class="re0">CornerRadius</span>=<span class="st0">&quot;5&quot;</span> <span class="re0">BorderThickness</span>=<span class="st0">&quot;1&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;Border</span>.BorderBrush<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;LinearGradientBrush</span> <span class="re0">EndPoint</span>=<span class="st0">&quot;0.5,1&quot;</span> <span class="re0">StartPoint</span>=<span class="st0">&quot;0.5,0&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;GradientStop</span> <span class="re0">Color</span>=<span class="st0">&quot;#6D000000&quot;</span> <span class="re0">Offset</span>=<span class="st0">&quot;0&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;GradientStop</span> <span class="re0">Color</span>=<span class="st0">&quot;Black&quot;</span> <span class="re0">Offset</span>=<span class="st0">&quot;0.994&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/LinearGradientBrush<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/Border</span>.BorderBrush<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;Border</span>.Effect<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;BlurEffect</span> <span class="re0">Radius</span>=<span class="st0">&quot;2&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/Border</span>.Effect<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/Border<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;Border</span>   <span class="re0">CornerRadius</span>=<span class="st0">&quot;5&quot;</span> <span class="re0">Margin</span>=<span class="st0">&quot;3&quot;</span> <span class="re0">BorderThickness</span>=<span class="st0">&quot;0,2,0,0&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;Border</span>.Effect<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;BlurEffect</span> <span class="re0">Radius</span>=<span class="st0">&quot;2&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/Border</span>.Effect<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;Border</span>.BorderBrush<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;LinearGradientBrush</span> <span class="re0">EndPoint</span>=<span class="st0">&quot;0.5,1&quot;</span> <span class="re0">StartPoint</span>=<span class="st0">&quot;0.5,0&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;GradientStop</span> <span class="re0">Color</span>=<span class="st0">&quot;#00000000&quot;</span> <span class="re0">Offset</span>=<span class="st0">&quot;1&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;GradientStop</span> <span class="re0">Color</span>=<span class="st0">&quot;#D7FFFFFF&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/LinearGradientBrush<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/Border</span>.BorderBrush<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;Border</span>.Background<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;LinearGradientBrush</span> <span class="re0">EndPoint</span>=<span class="st0">&quot;0.5,1&quot;</span> <span class="re0">StartPoint</span>=<span class="st0">&quot;0.5,0&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;GradientStop</span> <span class="re0">Color</span>=<span class="st0">&quot;#1DB1B1B1&quot;</span> <span class="re0">Offset</span>=<span class="st0">&quot;0.5&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;GradientStop</span> <span class="re0">Offset</span>=<span class="st0">&quot;0.5&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/LinearGradientBrush<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/Border</span>.Background<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/Border<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;TextBlock</span> <span class="re0">Text</span>=<span class="st0">&quot;Download Trial !&quot;</span> <span class="re0">HorizontalAlignment</span>=<span class="st0">&quot;Center&quot;</span> <span class="re0">VerticalAlignment</span>=<span class="st0">&quot;Center&quot;</span> <span class="re0">Foreground</span>=<span class="st0">&quot;White&quot;</span> <span class="re0">FontSize</span>=<span class="st0">&quot;40&quot;</span>  <span class="re0">FontFamily</span>=<span class="st0">&quot;Segoe UI Symbol&quot;</span><span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;TextBlock</span>.Effect<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;DropShadowEffect</span> <span class="re0">BlurRadius</span>=<span class="st0">&quot;10&quot;</span> <span class="re0">ShadowDepth</span>=<span class="st0">&quot;0&quot;</span><span class="re2">/&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/TextBlock</span>.Effect<span class="re2">&gt;</span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/TextBlock<span class="re2">&gt;</span></span></span><br />
&nbsp;<span class="sc3"><span class="re1">&lt;/Grid<span class="re2">&gt;</span></span></span></p>
<p>&nbsp;<span class="sc3"><span class="re1">&lt;/Grid<span class="re2">&gt;</span></span></span></div>

                            <div id="aspdf">
                                <a href="http://www.rajneeshnoonia.com/blog/wp-content/plugins/as-pdf/generate.php?post=1025">
                                    <span>Download post</span>
                                </a>
                            </div>
                        <div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F05%2Fbutton-xaml%2F&amp;title=Button+XAML" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F05%2Fbutton-xaml%2F&amp;title=Button+XAML" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F05%2Fbutton-xaml%2F&amp;title=Button+XAML" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F05%2Fbutton-xaml%2F&amp;headline=Button+XAML" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Button+XAML&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F05%2Fbutton-xaml%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Button+XAML&amp;u=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F05%2Fbutton-xaml%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Button+XAML&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F05%2Fbutton-xaml%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Button+XAML&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F05%2Fbutton-xaml%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Button+XAML&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F05%2Fbutton-xaml%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F05%2Fbutton-xaml%2F&amp;title=Button+XAML&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F05%2Fbutton-xaml%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F05%2Fbutton-xaml%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F05%2Fbutton-xaml%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div><div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=396873600346426";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.rajneeshnoonia.com/blog/2012/05/button-xaml/" layout="button_count" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.rajneeshnoonia.com/blog/2012/05/button-xaml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reactive Extensions (Rx) Data Streaming</title>
		<link>http://www.rajneeshnoonia.com/blog/2012/04/rx-data-streaming/</link>
		<comments>http://www.rajneeshnoonia.com/blog/2012/04/rx-data-streaming/#comments</comments>
		<pubDate>Wed, 11 Apr 2012 00:34:26 +0000</pubDate>
		<dc:creator>Rajnish Noonia</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://www.rajneeshnoonia.com/blog/?p=1001</guid>
		<description><![CDATA[<p>You have probably heard about <a href="http://msdn.microsoft.com/en-us/data/gg577609" target="_blank">Reactive Extensions</a>, a library from Microsoft that greatly simplifies working with asynchronous data streams and allows to query them with LINQ operators.In my <a href="http://www.rajneeshnoonia.com/blog/2012/02/async-entity-framework-for-wpf/" target="_blank">previous post</a> I briefly discussed about loading data via entity framework asynchronously however it lacks getting chunks of data. This post demonstrates how to [...]]]></description>
			<content:encoded><![CDATA[<p>You have probably heard about <a href="http://msdn.microsoft.com/en-us/data/gg577609" target="_blank">Reactive Extensions</a>, a library from Microsoft that greatly simplifies working with asynchronous data streams and allows to query them with LINQ operators.In my <a href="http://www.rajneeshnoonia.com/blog/2012/02/async-entity-framework-for-wpf/" target="_blank">previous post</a> I briefly discussed about loading data via entity framework asynchronously however it lacks getting chunks of data. This post demonstrates how to use Reactive Extensions for loading data from database asynchronously in chunks covering brief around Reactive extension library.</p>
<p><strong>Reactive extensions (Rx)</strong><br />
The Reactive Extensions (Rx) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators. Using Rx, developers <strong><em>represent</em></strong> asynchronous data streams with <a href="http://msdn.microsoft.com/library/dd990377.aspx">Observables</a>, <strong><em>query</em></strong> asynchronous data streams using <a href="http://msdn.microsoft.com/en-us/library/hh242983(v=VS.103).aspx">LINQ operators</a>, and <strong><em>parameterize</em></strong> the concurrency in the asynchronous data streams using <a href="http://msdn.microsoft.com/en-us/library/hh242963(v=VS.103).aspx">Schedulers</a>. Simply put, Rx = Observables + LINQ + Schedulers.Data sequences can take many forms, such as a stream of data from a file or web service, web services requests, system notifications, or a series of events such as user input. Reactive Extensions represents all these data sequences as observable sequences. An application can subscribe to these observable sequences to receive asynchronous notifications as new data arrive. The Rx library is available for desktop application development in .NET. It is also released for Silverlight, Windows Phone 7 and JavaScript.</p>
<p>Reactive programming allows you to turn those aspects of your code that are currently imperative into something much more event-driven and flexible.Reactive programming can be applied to a range of situations—from WPF applications to Windows Phone apps—to improve coding efficiency and boost performance.</p>
<p>Code snippets to asynchronous load data via entity framework in batches of 200 records.</p>
<div class="dean_ch" style="white-space: wrap;">public <span class="kw4">void</span> LoadPostCodes<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
<span class="br0">&#123;</span><br />
&nbsp;btnStatus.<span class="me1">Content</span> = <span class="st0">&quot;Started&quot;</span>;<br />
&nbsp;listBox1.<span class="me1">Items</span>.<span class="me1">Clear</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp;<span class="br0">&#40;</span>from p in cx.<span class="me1">MAS_PostCode</span> select p<span class="br0">&#41;</span><br />
&nbsp;.<span class="me1">ToObservable</span><span class="br0">&#40;</span>Scheduler.<span class="me1">NewThread</span><span class="br0">&#41;</span><br />
&nbsp;.<span class="me1">Buffer</span><span class="br0">&#40;</span><span class="nu0">200</span><span class="br0">&#41;</span><br />
&nbsp;.<span class="me1">ObserveOn</span><span class="br0">&#40;</span>SynchronizationContext.<span class="me1">Current</span><span class="br0">&#41;</span><br />
&nbsp;.<span class="me1">Subscribe</span><span class="br0">&#40;</span>ld =&gt;<br />
&nbsp;<span class="br0">&#123;</span><br />
&nbsp;foreach <span class="br0">&#40;</span>var item in ld<span class="br0">&#41;</span><br />
&nbsp;<span class="br0">&#123;</span><br />
&nbsp;ListBoxItem litem = new ListBoxItem<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp;litem.<span class="me1">Content</span> = <span class="kw4">string</span>.<span class="me1">Format</span><span class="br0">&#40;</span><span class="st0">&quot;{0} {1}&quot;</span>, item.<span class="me1">PC_PostCode</span>, item.<span class="me1">PC_Address1</span><span class="br0">&#41;</span>;<br />
&nbsp;listBox1.<span class="me1">Items</span>.<span class="me1">Add</span><span class="br0">&#40;</span>litem<span class="br0">&#41;</span>;<br />
&nbsp;listBox1.<span class="me1">ScrollIntoView</span><span class="br0">&#40;</span>litem<span class="br0">&#41;</span>;<br />
&nbsp;<span class="br0">&#125;</span><br />
&nbsp;button1.<span class="me1">Content</span> = listBox1.<span class="me1">Items</span>.<span class="me1">Count</span>.<span class="me1">ToString</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp;<span class="br0">&#125;</span>,<br />
&nbsp;<span class="br0">&#40;</span><span class="br0">&#41;</span> =&gt; <span class="br0">&#123;</span> btnStatus.<span class="me1">Content</span> = <span class="st0">&quot;Finished&quot;</span>; <span class="br0">&#125;</span><br />
&nbsp;<span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span></div>
<p>Have finished writing MVVM(<a href="http://www.rajneeshnoonia.com/blog/2011/01/nano-viewmodel-support/" target="_blank">Nano View model</a>) based scenario &amp; Rx implementations &#8230;</p>
<p><span style="color: #ff0000;">Will write soon and publish code..<br />
</span></p>
<p>Regards<br />
Rajnish</p>

                            <div id="aspdf">
                                <a href="http://www.rajneeshnoonia.com/blog/wp-content/plugins/as-pdf/generate.php?post=1001">
                                    <span>Download post</span>
                                </a>
                            </div>
                        <div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F04%2Frx-data-streaming%2F&amp;title=Reactive+Extensions+%28Rx%29+Data+Streaming" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F04%2Frx-data-streaming%2F&amp;title=Reactive+Extensions+%28Rx%29+Data+Streaming" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F04%2Frx-data-streaming%2F&amp;title=Reactive+Extensions+%28Rx%29+Data+Streaming" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F04%2Frx-data-streaming%2F&amp;headline=Reactive+Extensions+%28Rx%29+Data+Streaming" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Reactive+Extensions+%28Rx%29+Data+Streaming&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F04%2Frx-data-streaming%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Reactive+Extensions+%28Rx%29+Data+Streaming&amp;u=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F04%2Frx-data-streaming%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Reactive+Extensions+%28Rx%29+Data+Streaming&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F04%2Frx-data-streaming%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Reactive+Extensions+%28Rx%29+Data+Streaming&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F04%2Frx-data-streaming%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Reactive+Extensions+%28Rx%29+Data+Streaming&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F04%2Frx-data-streaming%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F04%2Frx-data-streaming%2F&amp;title=Reactive+Extensions+%28Rx%29+Data+Streaming&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F04%2Frx-data-streaming%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F04%2Frx-data-streaming%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F04%2Frx-data-streaming%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div><div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=396873600346426";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.rajneeshnoonia.com/blog/2012/04/rx-data-streaming/" layout="button_count" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.rajneeshnoonia.com/blog/2012/04/rx-data-streaming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>N-tier Sync Framework – OCA (Occasional connected Application)</title>
		<link>http://www.rajneeshnoonia.com/blog/2012/03/n-tier-sync-framework/</link>
		<comments>http://www.rajneeshnoonia.com/blog/2012/03/n-tier-sync-framework/#comments</comments>
		<pubDate>Tue, 20 Mar 2012 14:20:47 +0000</pubDate>
		<dc:creator>Rajnish Noonia</dc:creator>
				<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://www.rajneeshnoonia.com/blog/?p=965</guid>
		<description><![CDATA[<p>Sync Framework is a comprehensive synchronization platform that enables collaboration and offline access for applications, services, and devices. Sync Framework features technologies and tools that enable roaming, data sharing, and taking data offline. By using Sync Framework, developers can build synchronization ecosystems that integrate any application with data from any store, by using any protocol [...]]]></description>
			<content:encoded><![CDATA[<p>Sync Framework is a comprehensive synchronization platform that enables collaboration and offline access for applications, services, and devices. Sync Framework features technologies and tools that enable roaming, data sharing, and taking data offline. By using Sync Framework, developers can build synchronization ecosystems that integrate any application with data from any store, by using any protocol over any network.</p>
<p>This article shows how to synchronize efficiently with a remote server by using a proxy provider on the local computer over secure WCF channel. The proxy provider uses the Remote Change Application pattern and Windows Communication Foundation (WCF) to send serialized metadata and data to the remote replica so synchronization processing can be performed on the remote computer (server) with fewer round trips between the client and server computers. Microsoft Sync Framework synchronizes data between data stores. Typically, these data stores are on different computers or devices that are connected over a network. In our case we will be using synchronization between local SQL Server 2008 and central (remote) SQL server 2008 (express edition). Following are the different (Visual Studio 2010 &#8211; .Net 4.0) projects involved in the solution</p>
<ol>
<li><strong>Sync.WebServer </strong>: Web server (Asp.Net) project to host WCF Sync service, Authentication service and web portal to manage Sync clients.<strong> </strong></li>
<li><strong>Sync.Library </strong>:<strong> </strong>Sync library (Class Library) used by client/server which provides server proxy to client and also provides base class for RelationalSyncService, ISqlSyncContract for WCF Sync service.<strong> </strong></li>
<li><strong>Sync.Client </strong>: Windows based client which will perform database sync between SyncLocal and SyncServerCert via WCF service.<strong> </strong></li>
</ol>
<p>For synchronizing two databases, Sync Framework supports two-tier and N-tier architectures that use any server database for which an ADO.NET provider is available. For synchronizing between a client database and other types of data sources, Sync Framework supports a service-based architecture. This architecture requires more application code than two-tier and N-tier architectures; however, it does not require a developer to take a different approach to synchronization.</p>
<p>The following illustrations show the components that are involved in N-tier, and service-based architectures. Each illustration shows a single client, but there are frequently multiple clients that synchronize with a single server. Sync Framework uses a hub-and-spoke model for client and server database synchronization. Synchronization is always initiated by the client. All changes from each client are synchronized with the server before the changes are sent from the server to other clients. (These are clients that do not exchange changes directly with one another.)</p>
<p>N-tier architecture requires a proxy, a service, and a transport mechanism to communicate between the client database and the server database. This architecture is more common than a two-tier architecture, because an N-tier architecture does not require a direct connection between the client and server databases.</p>
<h3>N-Tier Architecture</h3>
<p><img class="alignnone" title="N-Tier Architecture" src="http://www.rajneeshnoonia.com/blog/uploads/images/Sync.PNG" alt="" width="670" height="260" /></p>
<p>For demo purpose the server side database is very simple, with just two tables in used in synchronization process. Create blank database SyncCenter and execute script SyncCenter_Script.sql (See database script attached with source code)</p>
<p><img class="alignnone" title="Database design" src="http://www.rajneeshnoonia.com/blog/uploads/images/Database.PNG" alt="" width="490" height="283" /></p>
<p>Class ServerProvisioning.cs (in project Sync.WebServer) is used to create sync filter template and then create filtered scope for each client based on this template.</p>
<p>We need add our tables to function <strong><em>CreateTemplate</em></strong> (filtered template)</p>
<div class="dean_ch" style="white-space: wrap;"><span class="co1">//Add tables which will participate in Sync sequence matters</span><br />
scopeDesc.<span class="me1">Tables</span>.<span class="me1">Add</span><span class="br0">&#40;</span>GetDescriptionForTable<span class="br0">&#40;</span><span class="st0">&quot;Clients&quot;</span>, ConnectionString<span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
scopeDesc.<span class="me1">Tables</span>.<span class="me1">Add</span><span class="br0">&#40;</span>GetDescriptionForTable<span class="br0">&#40;</span><span class="st0">&quot;Products&quot;</span>, ConnectionString<span class="br0">&#41;</span><span class="br0">&#41;</span>;</p>
<p><span class="co1">//With each table we have to add @Id and filter records based on Client id</span></p>
<p>SqlSyncTableProvisioning Clients = serverTemplate.<span class="me1">Provisioning</span>.<span class="me1">Tables</span><span class="br0">&#91;</span>GetTableFullName<span class="br0">&#40;</span><span class="st0">&quot;Clients&quot;</span><span class="br0">&#41;</span><span class="br0">&#93;</span>;<br />
Clients.<span class="me1">AddFilterColumn</span><span class="br0">&#40;</span><span class="st0">&quot;Id&quot;</span><span class="br0">&#41;</span>;<br />
Clients.<span class="me1">FilterClause</span> = <span class="st0">&quot;[side].[Id] = @Id&quot;</span>;<br />
Clients.<span class="me1">FilterParameters</span>.<span class="me1">Add</span><span class="br0">&#40;</span>new SqlParameter<span class="br0">&#40;</span><span class="st0">&quot;@Id&quot;</span>, SqlDbType.<span class="me1">UniqueIdentifier</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</p>
<p>SqlSyncTableProvisioning Products = serverTemplate.<span class="me1">Provisioning</span>.<span class="me1">Tables</span><span class="br0">&#91;</span>GetTableFullName<span class="br0">&#40;</span><span class="st0">&quot;Products&quot;</span><span class="br0">&#41;</span><span class="br0">&#93;</span>;<br />
Products.<span class="me1">AddFilterColumn</span><span class="br0">&#40;</span><span class="st0">&quot;ClientId&quot;</span><span class="br0">&#41;</span>;<br />
Products.<span class="me1">FilterClause</span> = <span class="st0">&quot;[side].[ClientId] = @Id &quot;</span>;<br />
Products.<span class="me1">FilterParameters</span>.<span class="me1">Add</span><span class="br0">&#40;</span>new SqlParameter<span class="br0">&#40;</span><span class="st0">&quot;@Id&quot;</span>, SqlDbType.<span class="me1">UniqueIdentifier</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div>
<p>Please note that you for each table which is used in synchronization process we have to add filter clause to filter records based on client id. You may use complex SQL queries with joins etc. to specify which records should be synchronized between multiple clients. The central server (single) holds data for multiple clients (multi &#8211; tenancy).See article Sync framework &#8211; choose your primary keys type carefully: <a href="http://www.codeproject.com/Articles/63275/Sync-framework-choose-your-primary-keys-type-caref">http://www.codeproject.com/Articles/63275/Sync-framework-choose-your-primary-keys-type-caref</a></p>
<p>The above mentioned code id called when you click on create template button from Central MS Sync web site (Project: Sync.WebServer).</p>
<p>Before running our web server project (Sync.WebServer), you need to change connection string SyncCenterConnectionString in web.config file.The web server project Sync.WebServer is used to host WCF Sync service and also provides you admin panel from where you can setup and create Sync template and sync scopes for each client. The sync template will create filter based template and specify tables used in sync process and also define filter clause (Sql Queries) where as the sync scope will create scope of each client based on these templates where clientId is fixed. So that whenever you setup new sync client you need to create scope for this client before it can take participate in sync process.</p>
<p>OK now, web server project is almost ready to run however we need to install membership provider and create few certificates which will be used in later stage. The Asp.Net membership provider is used to access this web portal.</p>
<p>Follow below mentioned steps to install membership provider on your SyncCenter database.</p>
<div class="dean_ch" style="white-space: wrap;">Run aspnet_regsql.<span class="me1">exe</span> utility from C:\windows\Microsoft.<span class="me1">NET</span>\Framework\v2<span class="nu0">.0</span><span class="nu0">.50727</span> folder on your machine.</div>
<p><img class="alignnone" title="ASP Membership setup" src="http://www.rajneeshnoonia.com/blog/uploads/images/ASP_membership.PNG" alt="" width="507" height="394" /></p>
<p>Choose your database and click next, next … finish</p>
<p><img class="alignnone" title="ASP Membership setup" src="http://www.rajneeshnoonia.com/blog/uploads/images/ASP_membership2.PNG" alt="" width="490" height="380" /></p>
<p>And click next, next…. Finish.</p>
<p>Now we need two X.509 certificates “SyncServerCert” and “SyncClientCert“</p>
<p>Certificate SyncServerCert will be used by web server where as SyncClientCert will be distributed to its clients.</p>
<p>To create certificate follow tasks mentioned below</p>
<p>Execute Make Cert.bat available under certificates folders (download).This batch file is having following commands.</p>
<div class="dean_ch" style="white-space: wrap;">Makecert.<span class="me1">exe</span> -r -pe -n <span class="st0">&quot;CN= SyncServerCert &quot;</span> -b <span class="nu0">01</span>/<span class="nu0">01</span>/<span class="nu0">2000</span> -e <span class="nu0">01</span>/<span class="nu0">01</span>/<span class="nu0">2050</span> -eku <span class="nu0">1.3</span><span class="nu0">.6</span><span class="nu0">.1</span><span class="nu0">.5</span><span class="nu0">.5</span><span class="nu0">.7</span><span class="nu0">.3</span><span class="nu0">.1</span> &nbsp; -ss my -sr localMachine -sky exchange -sp &nbsp; <span class="st0">&quot;Microsoft RSA SChannel Cryptographic Provider&quot;</span> -sy <span class="nu0">12</span></p>
<p>Winhttpcertcfg.<span class="me1">exe</span> -g -c &nbsp;LOCAL_MACHINE\My -s <span class="st0">&quot;SyncServerCert&quot;</span> -a ASPNET</p>
<p>Winhttpcertcfg.<span class="me1">exe</span> -g -c &nbsp;LOCAL_MACHINE\My -s <span class="st0">&quot;SyncServerCert&quot;</span> -a <span class="st0">&quot;NETWORK SERVICE&quot;</span></p>
<p>Winhttpcertcfg.<span class="me1">exe</span> -g -c &nbsp;LOCAL_MACHINE\My -s <span class="st0">&quot;SyncServerCert&quot;</span> -a <span class="st0">&quot;LOCAL SERVICE&quot;</span></p>
<p>Makecert.<span class="me1">exe</span> -r -pe -n <span class="st0">&quot;CN= SyncClientCert &quot;</span> -b <span class="nu0">01</span>/<span class="nu0">01</span>/<span class="nu0">2000</span> -e <span class="nu0">01</span>/<span class="nu0">01</span>/<span class="nu0">2050</span> -eku <span class="nu0">1.3</span><span class="nu0">.6</span><span class="nu0">.1</span><span class="nu0">.5</span><span class="nu0">.5</span><span class="nu0">.7</span><span class="nu0">.3</span><span class="nu0">.1</span> &nbsp; -ss my -sr localMachine -sky exchange -sp &nbsp; <span class="st0">&quot;Microsoft RSA SChannel Cryptographic Provider&quot;</span> -sy <span class="nu0">12</span></div>
<p>Makecert is available with visual studio installation and you can download from <strong>Winhttpcertcfg.exe</strong> from <a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=19801">http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=19801</a></p>
<p>Launch mmc and add Certificates (Local computer) to mmc. You will found certificates SyncServerCert &amp; SyncClientCert under Personal Certificates.</p>
<p><img class="alignnone" title="Certificates" src="http://www.rajneeshnoonia.com/blog/uploads/images/Certificate.PNG" alt="" width="526" height="293" /></p>
<p>Copy (right click copy and paste) these certificates under Trusted People /certificates and under Trusted Root Certificate Authorities/certificates.</p>
<p><img class="alignnone" title="Certificate" src="http://www.rajneeshnoonia.com/blog/uploads/images/Certificate2.PNG" alt="" width="605" height="337" /></p>
<p>Now export SyncClientCert certificate (alone with Private key) as pfx file. This can be deployed to sync clients.</p>
<p>Server project is ready to run now, Launch web server project,create login (register) and navigate to sync Clients tab.</p>
<p><img class="alignnone" title="Management Portal" src="http://www.rajneeshnoonia.com/blog/uploads/images/Portal.PNG" alt="" width="606" height="368" /></p>
<p>Click on create template and then click on setup sync for each client</p>
<p>Setup sync will execute following code</p>
<div class="dean_ch" style="white-space: wrap;"><span class="co1">//For filter parameter name see template below</span><br />
serverProv.<span class="me1">Provisioning</span>.<span class="me1">PopulateFromTemplate</span><span class="br0">&#40;</span>SyncConfigurations.<span class="me1">ClientScopeName</span><span class="br0">&#40;</span>ClientId<span class="br0">&#41;</span>, ServerProvisioning.<span class="me1">TemplateName</span><span class="br0">&#41;</span>;<br />
serverProv.<span class="me1">Provisioning</span>.<span class="me1">Tables</span><span class="br0">&#91;</span>GetTableFullName<span class="br0">&#40;</span><span class="st0">&quot;Clients&quot;</span><span class="br0">&#41;</span><span class="br0">&#93;</span>.<span class="me1">FilterParameters</span><span class="br0">&#91;</span><span class="st0">&quot;@Id&quot;</span><span class="br0">&#93;</span>.<span class="me1">Value</span> = ClientId;<br />
serverProv.<span class="me1">Provisioning</span>.<span class="me1">Tables</span><span class="br0">&#91;</span>GetTableFullName<span class="br0">&#40;</span><span class="st0">&quot;Products&quot;</span><span class="br0">&#41;</span><span class="br0">&#93;</span>.<span class="me1">FilterParameters</span><span class="br0">&#91;</span><span class="st0">&quot;@Id&quot;</span><span class="br0">&#93;</span>.<span class="me1">Value</span> = ClientId;</div>
<p>which will create sync scope of each client.</p>
<p><img class="alignnone" title="Management Portal" src="http://www.rajneeshnoonia.com/blog/uploads/images/Portal2.PNG" alt="" width="500" height="387" /></p>
<p>At this stage, our server is ready to sync with 3 clients. Please note that Sync service uses wsHTTP binding with certificate authentication SyncServerCert.</p>
<p><strong>Sync.Client</strong></p>
<p>For sync client setup, create blank database “SyncLocal” on local machine or where your client application will run,Edit the connection string app.config and also specify the clientId in config file.Not, in production system you may need to provide service from where user will request authentication and once authenticated from server the server will provide clientId based on logon details. In that case you don’t need to hard code client id however for simplicity I have just used the fixed value (read from app.config).</p>
<p><img class="alignnone" title="Sync Client Application" src="http://www.rajneeshnoonia.com/blog/uploads/images/SyncClient.PNG" alt="" width="500" height="502" /></p>
<p>Run this application and click “Sync With Client”, Change Client Id in text box and again click sync With Client.</p>
<p>Please note that sync framework will only create table (and primary keys) however relationships and constraints were not in scope o Sync. For more information check Microsoft documentation.</p>
<h2><span style="color: #ff0000;"><a title="Download Source Code" href="http://www.rajneeshnoonia.com/blog/uploads/code/Ntier_Sync_SourceCode.zip" target="_blank">Source Code</a></span></h2>

                            <div id="aspdf">
                                <a href="http://www.rajneeshnoonia.com/blog/wp-content/plugins/as-pdf/generate.php?post=965">
                                    <span>Download post</span>
                                </a>
                            </div>
                        <div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F03%2Fn-tier-sync-framework%2F&amp;title=N-tier+Sync+Framework+%E2%80%93+OCA+%28Occasional+connected+Application%29" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F03%2Fn-tier-sync-framework%2F&amp;title=N-tier+Sync+Framework+%E2%80%93+OCA+%28Occasional+connected+Application%29" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F03%2Fn-tier-sync-framework%2F&amp;title=N-tier+Sync+Framework+%E2%80%93+OCA+%28Occasional+connected+Application%29" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F03%2Fn-tier-sync-framework%2F&amp;headline=N-tier+Sync+Framework+%E2%80%93+OCA+%28Occasional+connected+Application%29" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=N-tier+Sync+Framework+%E2%80%93+OCA+%28Occasional+connected+Application%29&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F03%2Fn-tier-sync-framework%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=N-tier+Sync+Framework+%E2%80%93+OCA+%28Occasional+connected+Application%29&amp;u=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F03%2Fn-tier-sync-framework%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=N-tier+Sync+Framework+%E2%80%93+OCA+%28Occasional+connected+Application%29&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F03%2Fn-tier-sync-framework%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=N-tier+Sync+Framework+%E2%80%93+OCA+%28Occasional+connected+Application%29&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F03%2Fn-tier-sync-framework%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=N-tier+Sync+Framework+%E2%80%93+OCA+%28Occasional+connected+Application%29&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F03%2Fn-tier-sync-framework%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F03%2Fn-tier-sync-framework%2F&amp;title=N-tier+Sync+Framework+%E2%80%93+OCA+%28Occasional+connected+Application%29&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F03%2Fn-tier-sync-framework%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F03%2Fn-tier-sync-framework%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F03%2Fn-tier-sync-framework%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div><div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=396873600346426";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.rajneeshnoonia.com/blog/2012/03/n-tier-sync-framework/" layout="button_count" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.rajneeshnoonia.com/blog/2012/03/n-tier-sync-framework/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Async Entity Framework for WPF</title>
		<link>http://www.rajneeshnoonia.com/blog/2012/02/async-entity-framework-for-wpf/</link>
		<comments>http://www.rajneeshnoonia.com/blog/2012/02/async-entity-framework-for-wpf/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 02:48:26 +0000</pubDate>
		<dc:creator>Rajnish Noonia</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://www.rajneeshnoonia.com/blog/?p=963</guid>
		<description><![CDATA[<p>- Sample application , implemented ObjectContext, &#8211; base class for your entity data modal classes in WPF project, where data is used via ADO.net instead of WCF. The extension adds Async capability to your existing entity data model ..This is based on .net 4.0 Task..The below mentioned approach is one way implementing Async entity call [...]]]></description>
			<content:encoded><![CDATA[<p>- Sample application , implemented ObjectContext, &#8211; base class for your entity data modal classes in WPF project, where data is used via ADO.net instead of WCF. The extension adds Async capability to your existing entity data model ..This is based on .net 4.0 Task..The below mentioned approach is one way implementing Async entity call , wrapped inside thread call and finally exposed event when results are available.Another prefred approach to achive this is via <a title="rx" href="http://msdn.microsoft.com/en-us/data/gg577609" target="_blank">Reactive Extension library</a>.</p>
<p>The Reactive Extensions (Rx) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators. Using Rx, developers represent asynchronous data streams with Observables, query asynchronous data streams using LINQ operators, and parameterize the concurrency in the asynchronous data streams using Schedulers. Simply put, Rx = Observables + LINQ + Schedulers.</p>
<p> My<a title="Rx Data Streaming" href="http://www.rajneeshnoonia.com/blog/2012/04/rx-data-streaming/" target="_self"> next article </a>is about Reactive Extensions for streaming data similar to SQL Server Management Studio.This way the grid would show first 100 available rows in the beginning and then when the next 100 rows were loaded they would be added to the grid and so on until the query completes.</p>
<p>Create class ObjectContext</p>
<div class="dean_ch" style="white-space: wrap;">public class ObjectContext :EntityContext, IDisposable<br />
    <span class="br0">&#123;</span><br />
        public LoadOperation LoadQuery<span class="br0">&#40;</span>Action query<span class="br0">&#41;</span><br />
        <span class="br0">&#123;</span><br />
            <span class="kw1">return</span> new LoadOperation<span class="br0">&#40;</span>query<span class="br0">&#41;</span>;<br />
        <span class="br0">&#125;</span></p>
<p>        public LoadOperation LoadQuery<span class="br0">&#40;</span>Func&lt;object&gt; query<span class="br0">&#41;</span><br />
        <span class="br0">&#123;</span><br />
            <span class="kw1">return</span> new LoadOperation<span class="br0">&#40;</span>query<span class="br0">&#41;</span>;<br />
        <span class="br0">&#125;</span></p>
<p>        public <span class="kw4">void</span> Dispose<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
        <span class="br0">&#123;</span><br />
            <span class="co1">//throw new NotImplementedException();</span><br />
        <span class="br0">&#125;</span><br />
    <span class="br0">&#125;</span></p>
<p>public sealed class QueryResultEventArgs : EventArgs<br />
    <span class="br0">&#123;</span><br />
        internal QueryResultEventArgs<span class="br0">&#40;</span>Exception exception<span class="br0">&#41;</span><br />
        <span class="br0">&#123;</span><br />
            this.<span class="me1">Error</span> = exception;<br />
            this.<span class="me1">HasError</span> = <span class="kw2">true</span>;<br />
        <span class="br0">&#125;</span></p>
<p>        internal QueryResultEventArgs<span class="br0">&#40;</span>Exception exception, bool isCancelled, bool isCompleted, bool hasError<span class="br0">&#41;</span><br />
            : this<span class="br0">&#40;</span>exception<span class="br0">&#41;</span><br />
        <span class="br0">&#123;</span><br />
            this.<span class="me1">IsCanceled</span> = isCancelled;<br />
            this.<span class="me1">IsComplete</span> = isCompleted;<br />
            this.<span class="me1">HasError</span> = hasError;<br />
            <span class="co1">/// if (hasError == false) this.Error = null;</span></p>
<p>        <span class="br0">&#125;</span></p>
<p>        internal QueryResultEventArgs<span class="br0">&#40;</span>object result<span class="br0">&#41;</span><br />
        <span class="br0">&#123;</span><br />
            this.<span class="me1">HasError</span> = <span class="kw2">false</span>;<br />
            this.<span class="me1">Result</span> = result;<br />
            this.<span class="me1">IsComplete</span> = <span class="kw2">true</span>;<br />
            this.<span class="me1">IsCanceled</span> = <span class="kw2">false</span>;<br />
        <span class="br0">&#125;</span></p>
<p>        public object Result <span class="br0">&#123;</span> get; private set; <span class="br0">&#125;</span><br />
        public Exception Error <span class="br0">&#123;</span> get; private set; <span class="br0">&#125;</span><br />
        public bool HasError <span class="br0">&#123;</span> get; private set; <span class="br0">&#125;</span><br />
        public bool IsCanceled <span class="br0">&#123;</span> get; private set; <span class="br0">&#125;</span><br />
        public bool IsComplete <span class="br0">&#123;</span> get; private set; <span class="br0">&#125;</span><br />
    <span class="br0">&#125;</span></p>
<p>    public sealed class LoadOperation : DispatcherObject, IDisposable<br />
    <span class="br0">&#123;</span><br />
        public event EventHandler&lt;QueryResultEventArgs&gt; Completed;<br />
        private readonly CancellationTokenSource _taskCancelProvider;<br />
        private readonly Task _task;<br />
        private LoadOperation<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
        <span class="br0">&#123;</span><br />
            this._taskCancelProvider = new CancellationTokenSource<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
        <span class="br0">&#125;</span></p>
<p>        internal LoadOperation<span class="br0">&#40;</span>Func&lt;object&gt; query<span class="br0">&#41;</span><br />
            : this<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
        <span class="br0">&#123;</span></p>
<p>            Task&lt;object&gt; task = new Task&lt;object&gt;<span class="br0">&#40;</span>query, this._taskCancelProvider.<span class="me1">Token</span><span class="br0">&#41;</span>;<br />
            _task = task;<br />
            this.<span class="me1">SetTaskInternal</span><span class="br0">&#40;</span>task<span class="br0">&#41;</span>;<br />
        <span class="br0">&#125;</span></p>
<p>        internal LoadOperation<span class="br0">&#40;</span>Action query<span class="br0">&#41;</span><br />
            : this<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
        <span class="br0">&#123;</span><br />
            Task task = new Task<span class="br0">&#40;</span>query, this._taskCancelProvider.<span class="me1">Token</span><span class="br0">&#41;</span>;<br />
            _task = task;<br />
            this.<span class="me1">SetTaskInternal</span><span class="br0">&#40;</span>task<span class="br0">&#41;</span>;<br />
        <span class="br0">&#125;</span></p>
<p>        private <span class="kw4">void</span> SetTaskInternal<span class="br0">&#40;</span>Task&lt;object&gt; task<span class="br0">&#41;</span><br />
        <span class="br0">&#123;</span><br />
            task.<span class="me1">ContinueWith</span><span class="br0">&#40;</span>delegate<br />
            <span class="br0">&#123;</span><br />
                try<br />
                <span class="br0">&#123;</span><br />
                    RaiseCompletetionEvent<span class="br0">&#40;</span>new QueryResultEventArgs<span class="br0">&#40;</span>task.<span class="me1">Result</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
                <span class="br0">&#125;</span><br />
                catch <span class="br0">&#40;</span>Exception ex<span class="br0">&#41;</span><br />
                <span class="br0">&#123;</span><br />
                    RaiseCompletetionEvent<span class="br0">&#40;</span>new QueryResultEventArgs<span class="br0">&#40;</span>ex.<span class="me1">InnerException</span>, task.<span class="me1">IsCanceled</span>, task.<span class="me1">IsCompleted</span>, task.<span class="me1">IsFaulted</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</p>
<p>                <span class="br0">&#125;</span><br />
            <span class="br0">&#125;</span><span class="br0">&#41;</span>;<br />
        <span class="br0">&#125;</span></p>
<p>        private <span class="kw4">void</span> SetTaskInternal<span class="br0">&#40;</span>Task task<span class="br0">&#41;</span><br />
        <span class="br0">&#123;</span><br />
            task.<span class="me1">ContinueWith</span><span class="br0">&#40;</span>delegate<br />
            <span class="br0">&#123;</span><br />
                try<br />
                <span class="br0">&#123;</span></p>
<p>                    RaiseCompletetionEvent<span class="br0">&#40;</span>new QueryResultEventArgs<span class="br0">&#40;</span><span class="kw2">null</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
                <span class="br0">&#125;</span><br />
                catch <span class="br0">&#40;</span>Exception ex<span class="br0">&#41;</span><br />
                <span class="br0">&#123;</span><br />
                    RaiseCompletetionEvent<span class="br0">&#40;</span>new QueryResultEventArgs<span class="br0">&#40;</span>ex<span class="br0">&#41;</span><span class="br0">&#41;</span>;</p>
<p>                <span class="br0">&#125;</span><br />
            <span class="br0">&#125;</span><span class="br0">&#41;</span>;<br />
        <span class="br0">&#125;</span></p>
<p>        public bool CanCancel <span class="br0">&#123;</span> get <span class="br0">&#123;</span> <span class="kw1">return</span> this._taskCancelProvider.<span class="me1">Token</span>.<span class="me1">CanBeCanceled</span>; <span class="br0">&#125;</span> <span class="br0">&#125;</span></p>
<p>        public <span class="kw4">void</span> Cancel<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
        <span class="br0">&#123;</span><br />
            this._taskCancelProvider.<span class="me1">Cancel</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
        <span class="br0">&#125;</span></p>
<p>        public <span class="kw4">void</span> Cancel<span class="br0">&#40;</span>bool throwOnFirstException<span class="br0">&#41;</span><br />
        <span class="br0">&#123;</span><br />
            this._taskCancelProvider.<span class="me1">Cancel</span><span class="br0">&#40;</span>throwOnFirstException<span class="br0">&#41;</span>;<br />
        <span class="br0">&#125;</span></p>
<p>        private <span class="kw4">void</span> RaiseCompletetionEvent<span class="br0">&#40;</span>QueryResultEventArgs e<span class="br0">&#41;</span><br />
        <span class="br0">&#123;</span><br />
            <span class="co1">//Wrap in DispatchThread</span><br />
            this.<span class="me1">Dispatcher</span>.<span class="me1">Invoke</span><span class="br0">&#40;</span><br />
          System.<span class="me1">Windows</span>.<span class="me1">Threading</span>.<span class="me1">DispatcherPriority</span>.<span class="me1">Normal</span>,<br />
          new Action<span class="br0">&#40;</span><br />
            delegate<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
            <span class="br0">&#123;</span><br />
                <span class="kw1">if</span> <span class="br0">&#40;</span>Completed != <span class="kw2">null</span><span class="br0">&#41;</span><br />
                    Completed<span class="br0">&#40;</span>this, e<span class="br0">&#41;</span>;<br />
            <span class="br0">&#125;</span><br />
        <span class="br0">&#41;</span><span class="br0">&#41;</span>;</p>
<p>        <span class="br0">&#125;</span></p>
<p>        public <span class="kw4">void</span> Execute<span class="br0">&#40;</span>bool Async = <span class="kw2">true</span><span class="br0">&#41;</span><br />
        <span class="br0">&#123;</span><br />
            <span class="kw1">if</span> <span class="br0">&#40;</span>Async<span class="br0">&#41;</span><br />
            <span class="br0">&#123;</span><br />
                _task.<span class="me1">Start</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
            <span class="br0">&#125;</span><br />
            <span class="kw1">else</span><br />
            <span class="br0">&#123;</span><br />
                _task.<span class="me1">RunSynchronously</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
            <span class="br0">&#125;</span><br />
        <span class="br0">&#125;</span></p>
<p>        public <span class="kw4">void</span> Dispose<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
        <span class="br0">&#123;</span><br />
            _task.<span class="me1">Dispose</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
        <span class="br0">&#125;</span><br />
    <span class="br0">&#125;</span></p>
<p><span class="co1">// EntityContext &#8211; Base for all your entity classes (LocalEntities &#8211; generated by entity framework)</span></p>
<p>public class EntityContext<br />
    <span class="br0">&#123;</span><br />
        public LocalEntities ObjectContext<br />
        <span class="br0">&#123;</span><br />
            get;<br />
            private set;<br />
        <span class="br0">&#125;</span></p>
<p>        public  EntityContext<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
        <span class="br0">&#123;</span><br />
            ObjectContext = new LocalEntities<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
        <span class="br0">&#125;</span><br />
    <span class="br0">&#125;</span></p>
<p><span class="co1">// How to Executing Async load of data from entity (serviceUsersRepository is ObjectContext driven entity)</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; serviceUsersRepository = new ServiceUsersRepository<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
            LoadOperation result = serviceUsersRepository.<span class="me1">LoadQuery</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#41;</span> =&gt; serviceUsersRepository.<span class="me1">GetServiceUsers</span><span class="br0">&#40;</span>objSearchCriteria.<span class="me1">SearchText</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</p>
<p>            result.<span class="me1">Completed</span> += <span class="br0">&#40;</span><span class="br0">&#40;</span>object sensexSx, QueryResultEventArgs ex<span class="br0">&#41;</span> =&gt;<br />
            <span class="br0">&#123;</span><br />
                this.<span class="me1">AllServiceUsers</span> = ex.<span class="me1">Result</span> as List&lt;ServiceUser&gt;;<br />
            <span class="br0">&#125;</span><span class="br0">&#41;</span>;<br />
            result.<span class="me1">Execute</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</p>
<p><span class="co1">// example of serviceUsersRepository is described below (where ServiceUsers is entity generated by entity framework)</span></p>
<p>class ServiceUsersRepository : ObjectContext�<br />
    <span class="br0">&#123;</span><br />
        public ServiceUsersRepository<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
        <span class="br0">&#123;</span></p>
<p>        <span class="br0">&#125;</span></p>
<p>        <span class="co1">/// &lt;summary&gt;</span><br />
        <span class="co1">/// Returns a shallow-copied list of all Service Users in the repository.</span><br />
        <span class="co1">/// &lt;/summary&gt;</span><br />
        public List&lt;ServiceUser&gt; GetServiceUsers<span class="br0">&#40;</span><span class="kw4">string</span> sText<span class="br0">&#41;</span><br />
        <span class="br0">&#123;</span><br />
                var result = from serviceuser in ObjectContext.<span class="me1">ServiceUsers</span><br />
                             select serviceuser;<br />
                <span class="kw1">return</span> result.<span class="me1">ToList</span>&lt;ServiceUser&gt;<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
        <span class="br0">&#125;</span><br />
    <span class="br0">&#125;</span></div>

                            <div id="aspdf">
                                <a href="http://www.rajneeshnoonia.com/blog/wp-content/plugins/as-pdf/generate.php?post=963">
                                    <span>Download post</span>
                                </a>
                            </div>
                        <div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F02%2Fasync-entity-framework-for-wpf%2F&amp;title=Async+Entity+Framework+for+WPF" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F02%2Fasync-entity-framework-for-wpf%2F&amp;title=Async+Entity+Framework+for+WPF" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F02%2Fasync-entity-framework-for-wpf%2F&amp;title=Async+Entity+Framework+for+WPF" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F02%2Fasync-entity-framework-for-wpf%2F&amp;headline=Async+Entity+Framework+for+WPF" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Async+Entity+Framework+for+WPF&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F02%2Fasync-entity-framework-for-wpf%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Async+Entity+Framework+for+WPF&amp;u=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F02%2Fasync-entity-framework-for-wpf%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Async+Entity+Framework+for+WPF&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F02%2Fasync-entity-framework-for-wpf%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Async+Entity+Framework+for+WPF&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F02%2Fasync-entity-framework-for-wpf%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Async+Entity+Framework+for+WPF&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F02%2Fasync-entity-framework-for-wpf%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F02%2Fasync-entity-framework-for-wpf%2F&amp;title=Async+Entity+Framework+for+WPF&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F02%2Fasync-entity-framework-for-wpf%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F02%2Fasync-entity-framework-for-wpf%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2012%2F02%2Fasync-entity-framework-for-wpf%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div><div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=396873600346426";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.rajneeshnoonia.com/blog/2012/02/async-entity-framework-for-wpf/" layout="button_count" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.rajneeshnoonia.com/blog/2012/02/async-entity-framework-for-wpf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Page flip with deep zoom</title>
		<link>http://www.rajneeshnoonia.com/blog/2011/06/page-flip-with-deep-zoom/</link>
		<comments>http://www.rajneeshnoonia.com/blog/2011/06/page-flip-with-deep-zoom/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 00:38:15 +0000</pubDate>
		<dc:creator>Rajnish Noonia</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://www.rajneeshnoonia.com/blog/?p=946</guid>
		<description><![CDATA[<p>Book control is another excellent page flip control which allows you to add any silverlight element as book page.It supports page down and page up as bidiretional navigation keys.Demo application &#38; source code is attached below.<br /> <a href="http://go.microsoft.com/fwlink/?LinkID=149156" style="text-decoration: none;"></a><br /></p> <p>The objective of this article is to create photo album application which allows [...]]]></description>
			<content:encoded><![CDATA[<p>Book control is another excellent page flip control which allows you to add any silverlight element as book page.It supports page down and page up as bidiretional navigation keys.Demo application &amp; source code is attached below.<br />
<div id="silverlightControlHost"><object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="850" height="650"><param name="source" value="http://www.rajneeshnoonia.com/blog/uploads/code/BookDemo.xap"/><param name="background" value="white" /><param name="minRuntimeVersion" value="3.0.40723.0" /><param name="autoupgrade" value="true" /><param name="enableHtmlAccess" value="true" /><a href="http://go.microsoft.com/fwlink/?LinkID=149156" style="text-decoration: none;"><img src="http://storage.timheuer.com/sl4wp-ph.png" alt="Install Microsoft Silverlight" style="border-style: none; width:400px; height:200px"/></a></object><iframe style="visibility:hidden;height:0;width:0;border:0px" id="_sl_historyFrame"></iframe></div><br /></p>
<p>The objective of this article is to create photo album application which allows user to add pictures just by drag and drop on album.The picture will be splitted into parts and uploaded on server where it is re-constructed and again processed into deep zoom meta file (on fly) and link to this picture will be then added into album.Photo album will have deep zoom enabled pages.</p>
<p>I couldn&#8217;t get much time to finish this project &amp; hence i would call this as beta source code which includes the full source code of Book control (page flip)</p>
<p>Beta Source code for book control is available <a href="http://rajneeshnoonia.com/blog/uploads/code/BookDemo.zip">here</a></p>

                            <div id="aspdf">
                                <a href="http://www.rajneeshnoonia.com/blog/wp-content/plugins/as-pdf/generate.php?post=946">
                                    <span>Download post</span>
                                </a>
                            </div>
                        <div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fpage-flip-with-deep-zoom%2F&amp;title=Page+flip+with+deep+zoom" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fpage-flip-with-deep-zoom%2F&amp;title=Page+flip+with+deep+zoom" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fpage-flip-with-deep-zoom%2F&amp;title=Page+flip+with+deep+zoom" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fpage-flip-with-deep-zoom%2F&amp;headline=Page+flip+with+deep+zoom" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Page+flip+with+deep+zoom&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fpage-flip-with-deep-zoom%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Page+flip+with+deep+zoom&amp;u=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fpage-flip-with-deep-zoom%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Page+flip+with+deep+zoom&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fpage-flip-with-deep-zoom%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Page+flip+with+deep+zoom&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fpage-flip-with-deep-zoom%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Page+flip+with+deep+zoom&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fpage-flip-with-deep-zoom%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fpage-flip-with-deep-zoom%2F&amp;title=Page+flip+with+deep+zoom&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fpage-flip-with-deep-zoom%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fpage-flip-with-deep-zoom%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fpage-flip-with-deep-zoom%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div><div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=396873600346426";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.rajneeshnoonia.com/blog/2011/06/page-flip-with-deep-zoom/" layout="button_count" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.rajneeshnoonia.com/blog/2011/06/page-flip-with-deep-zoom/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>@@servername</title>
		<link>http://www.rajneeshnoonia.com/blog/2011/06/servername/</link>
		<comments>http://www.rajneeshnoonia.com/blog/2011/06/servername/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 23:07:11 +0000</pubDate>
		<dc:creator>Rajnish Noonia</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.rajneeshnoonia.com/blog/?p=939</guid>
		<description><![CDATA[<p>If @@servername returns null or return wrong host name, execute below mentioned sql Query. </p> <p><br /> DECLARE @Current SysName<br /> Select @Current = Convert(varchar(128), SERVERPROPERTY(&#8216;ServerName&#8217;) )<br /> IF(@Current &#60;&#62; @@SERVERNAME)<br /> BEGIN<br /> EXEC sp_dropserver @@SERVERNAME<br /> EXEC sp_addserver @server=@Current,@local = &#8216;local&#8217;<br /> EXEC master..xp_cmdshell &#8216;ECHO NET STOP MSSQLSERVER &#62; restartSQL.bat&#8217;, no_output<br /> EXEC [...]]]></description>
			<content:encoded><![CDATA[<p><span lang="SQL">If @@servername returns null or return wrong host name, execute below mentioned sql Query. </span></p>
<p><span lang="SQL"><br />
DECLARE @Current SysName<br />
Select @Current = Convert(varchar(128), SERVERPROPERTY(&#8216;ServerName&#8217;) )<br />
IF(@Current &lt;&gt; @@SERVERNAME)<br />
BEGIN<br />
EXEC sp_dropserver @@SERVERNAME<br />
EXEC sp_addserver @server=@Current,@local = &#8216;local&#8217;<br />
EXEC master..xp_cmdshell &#8216;ECHO NET STOP MSSQLSERVER &gt; restartSQL.bat&#8217;, no_output<br />
EXEC master..xp_cmdshell &#8216;ECHO NET START MSSQLSERVER &gt;&gt; restartSQL.bat&#8217;, no_output<br />
EXEC master..xp_cmdshell &#8216;restartSQL.bat&#8217;, no_output<br />
&#8211;Connection with sql break here<br />
END</span></p>
<p>&#8211; Check if every thing is correct<br />
SELECT @@Servername<br />
SELECT SERVERPROPERTY(&#8216;ServerName&#8217;)</p>

                            <div id="aspdf">
                                <a href="http://www.rajneeshnoonia.com/blog/wp-content/plugins/as-pdf/generate.php?post=939">
                                    <span>Download post</span>
                                </a>
                            </div>
                        <div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fservername%2F&amp;title=%40%40servername" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fservername%2F&amp;title=%40%40servername" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fservername%2F&amp;title=%40%40servername" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fservername%2F&amp;headline=%40%40servername" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=%40%40servername&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fservername%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=%40%40servername&amp;u=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fservername%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=%40%40servername&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fservername%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=%40%40servername&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fservername%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=%40%40servername&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fservername%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fservername%2F&amp;title=%40%40servername&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fservername%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fservername%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F06%2Fservername%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div><div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=396873600346426";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.rajneeshnoonia.com/blog/2011/06/servername/" layout="button_count" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.rajneeshnoonia.com/blog/2011/06/servername/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Export data from corrupted database</title>
		<link>http://www.rajneeshnoonia.com/blog/2011/05/export-data-from-corrupted-database/</link>
		<comments>http://www.rajneeshnoonia.com/blog/2011/05/export-data-from-corrupted-database/#comments</comments>
		<pubDate>Thu, 12 May 2011 09:10:25 +0000</pubDate>
		<dc:creator>Rajnish Noonia</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.rajneeshnoonia.com/blog/?p=936</guid>
		<description><![CDATA[<p>Below is the sql script to import data from source database into target database, It is assumed that you have both the databases on single server.The source database is current database &#38; few tables are corrupted whereas the traget database is created from old backup for target database.since their is corruption ,it is not possible [...]]]></description>
			<content:encoded><![CDATA[<p>Below is the sql script to import data from source database into target database, It is assumed that you have both the databases on single server.The source database is current database &amp; few tables are corrupted whereas the traget database is created from old backup for target database.since their is corruption ,it is not possible to take backup of current database. This script imports back data (only) from source to target database. You need to only replace 3 lines of the script (12th line from bottom).<br />
Download script from <a href="http://www.rajneeshnoonia.com/blog/uploads/code/Migrate.sql.txt">here</a></p>
<div class="dean_ch" style="white-space: wrap;"> </p>
<p><span class="co1">&#8212;&#8212;&#8212;&#8212;- Create helper functions &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></p>
<p><span class="kw1">IF</span> <span class="kw1">EXISTS</span> <span class="br0">&#40;</span><span class="kw1">SELECT</span> * <span class="kw1">FROM</span> dbo.sysobjects <span class="kw1">WHERE</span> id = object_id<span class="br0">&#40;</span>N<span class="st0">&#8216;[dbo].[Mig_ImportTable]&#8216;</span><span class="br0">&#41;</span> <span class="kw1">AND</span> OBJECTPROPERTY<span class="br0">&#40;</span>id, N<span class="st0">&#8216;IsProcedure&#8217;</span><span class="br0">&#41;</span> = <span class="nu0">1</span><span class="br0">&#41;</span><br />
<span class="kw1">DROP</span> PROCEDURE <span class="br0">&#91;</span>dbo<span class="br0">&#93;</span>.<span class="br0">&#91;</span>Mig_ImportTable<span class="br0">&#93;</span><br />
GO</p>
<p><span class="kw1">CREATE</span> PROC dbo.Mig_ImportTable @<span class="kw1">DATABASE</span> SYSNAME, @<span class="kw1">TABLE</span> SYSNAME <span class="kw1">AS</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">SET</span> NOCOUNT <span class="kw1">ON</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; DECLARE @<span class="kw1">COLUMN</span> SYSNAME<br />
&nbsp; &nbsp; &nbsp; &nbsp; DECLARE @SQL NVARCHAR<span class="br0">&#40;</span><span class="nu0">4000</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; DECLARE @colSQL NVARCHAR<span class="br0">&#40;</span><span class="nu0">4000</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; DECLARE @IsIdentity BIT<br />
&nbsp; &nbsp; &nbsp; &nbsp; DECLARE @IsTableIdentity BIT</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">SET</span> @colSQL = <span class="st0">&#8221;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">SET</span> @SQL=<span class="st0">&#8221;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">SET</span> @IsTableIdentity = <span class="nu0">0</span> <span class="co1">&#8211;false</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">SET</span> @IsIdentity = <span class="nu0">0</span> <span class="co1">&#8211;false</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; PRINT <span class="st0">&#8216;Table Migration Started for :&#8217;</span> + @<span class="kw1">TABLE</span> + <span class="st0">&#8216; in &#8216;</span> + @<span class="kw1">DATABASE</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; DECLARE curMoveDown CURSOR<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">LOCAL</span> FORWARD_ONLY<br />
&nbsp; &nbsp; &nbsp; &nbsp; OPTIMISTIC <span class="kw1">FOR</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">SELECT</span> column_name,COLUMNPROPERTY<span class="br0">&#40;</span>object_id<span class="br0">&#40;</span>TABLE_NAME<span class="br0">&#41;</span>, COLUMN_NAME, <span class="st0">&#8216;IsIdentity&#8217;</span><span class="br0">&#41;</span><span class="kw1">AS</span> IsIdentity <span class="kw1">FROM</span> information_schema.<span class="kw1">COLUMNS</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">WHERE</span> UPPER<span class="br0">&#40;</span>table_name <span class="br0">&#41;</span> = UPPER<span class="br0">&#40;</span>@<span class="kw1">TABLE</span><span class="br0">&#41;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; OPEN curMoveDown FETCH NEXT <span class="kw1">FROM</span> curMoveDown <span class="kw1">INTO</span> @<span class="kw1">COLUMN</span>,@IsIdentity<br />
&nbsp; &nbsp; &nbsp; &nbsp; WHILE @@FETCH_STATUS = <span class="nu0">0</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; BEGIN<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">SET</span> @colSQL = @colSQL + <span class="st0">&#8216;['</span> + @<span class="kw1">COLUMN</span> + <span class="st0">'],&#8217;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">SET</span> @IsTableIdentity = @IsTableIdentity | @IsIdentity<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">IF</span> <span class="br0">&#40;</span>@IsTableIdentity = <span class="nu0">1</span><span class="br0">&#41;</span> BREAK<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FETCH NEXT <span class="kw1">FROM</span> curMoveDown <span class="kw1">INTO</span> @<span class="kw1">COLUMN</span>,@IsIdentity<br />
&nbsp; &nbsp; &nbsp; &nbsp; END<br />
&nbsp; &nbsp; &nbsp; &nbsp; CLOSE curMoveDown<br />
&nbsp; &nbsp; &nbsp; &nbsp; DEALLOCATE curMoveDown </p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">IF</span><span class="br0">&#40;</span>LEN<span class="br0">&#40;</span>@colSQL<span class="br0">&#41;</span>&gt;<span class="nu0">1</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; BEGIN<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">SET</span> @colSQL = <span class="kw1">LEFT</span><span class="br0">&#40;</span>@colSQL,LEN<span class="br0">&#40;</span>@colSQL<span class="br0">&#41;</span> &#8211; <span class="nu0">1</span><span class="br0">&#41;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">IF</span><span class="br0">&#40;</span>@IsTableIdentity = <span class="nu0">1</span><span class="br0">&#41;</span> <span class="kw1">SET</span> @SQL = @SQL + <span class="st0">&#8216;SET IDENTITY_INSERT &#8216;</span> + @<span class="kw1">TABLE</span> + <span class="st0">&#8216; ON &#8216;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">SET</span> @SQL = @SQL + <span class="st0">&#8216;&nbsp; &nbsp; &nbsp;ALTER TABLE &#8216;</span> + @<span class="kw1">TABLE</span> + <span class="st0">&#8216; DISABLE TRIGGER ALL &#8216;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">SET</span> @SQL = @SQL + <span class="st0">&#8216;&nbsp; &nbsp; &nbsp;ALTER TABLE &#8216;</span> + @<span class="kw1">TABLE</span> + <span class="st0">&#8216; NOCHECK CONSTRAINT ALL &#8216;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">SET</span> @SQL = @SQL + <span class="st0">&#8216;&nbsp; &nbsp; &nbsp;TRUNCATE TABLE &#8216;</span> + @<span class="kw1">TABLE</span> + <span class="st0">&#8216; &nbsp;&#8217;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">IF</span><span class="br0">&#40;</span>@IsTableIdentity = <span class="nu0">1</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">SET</span> @SQL = @SQL + <span class="st0">&#8216;&nbsp; &nbsp; &nbsp;INSERT INTO &#8216;</span> + @<span class="kw1">TABLE</span> + <span class="st0">&#8216; (&#8216;</span> + &nbsp;@colSQL + <span class="st0">&#8216;) SELECT &#8216;</span>+ &nbsp;@colSQL + <span class="st0">&#8216; FROM &#8216;</span> + <span class="st0">&#8216;['</span> + @<span class="kw1">DATABASE</span> + <span class="st0">'].[dbo].['</span> + @<span class="kw1">TABLE</span> + <span class="st0">'] &#8216;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ELSE<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">SET</span> @SQL = @SQL + <span class="st0">&#8216;&nbsp; &nbsp; &nbsp;INSERT INTO &#8216;</span> + @<span class="kw1">TABLE</span> + <span class="st0">&#8216; SELECT * FROM &#8216;</span> + <span class="st0">&#8216;['</span> + @<span class="kw1">DATABASE</span> + <span class="st0">'].[dbo].['</span> + @<span class="kw1">TABLE</span> + <span class="st0">'] &#8216;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">IF</span><span class="br0">&#40;</span>@IsTableIdentity = <span class="nu0">1</span><span class="br0">&#41;</span> <span class="kw1">SET</span> @SQL = @SQL + <span class="st0">&#8216;&nbsp; &nbsp; SET IDENTITY_INSERT &#8216;</span> + @<span class="kw1">TABLE</span> + <span class="st0">&#8216; OFF &#8216;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">SET</span> @SQL = @SQL + <span class="st0">&#8216;&nbsp; &nbsp; &nbsp;ALTER TABLE &#8216;</span> + @<span class="kw1">TABLE</span> + <span class="st0">&#8216; ENABLE TRIGGER ALL &#8216;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">SET</span> @SQL = @SQL + <span class="st0">&#8216;&nbsp; &nbsp; &nbsp;ALTER TABLE &#8216;</span> + @<span class="kw1">TABLE</span> + <span class="st0">&#8216; CHECK CONSTRAINT ALL &#8216;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; EXEC sp_executesql @SQL<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PRINT <span class="st0">&#8216;Table migrated :&#8217;</span> + @<span class="kw1">TABLE</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; END<br />
&nbsp; &nbsp; &nbsp; &nbsp; ELSE<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PRINT <span class="st0">&#8216;No Column found :&#8217;</span> + @<span class="kw1">TABLE</span> + <span class="st0">&#8216; (SQL = &#8216;</span> + @colSQL + <span class="st0">&#8216;)&#8217;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; PRINT <span class="st0">&#8216;Table Migration finished for :&#8217;</span> + @<span class="kw1">TABLE</span><br />
GO</p>
<p><span class="kw1">IF</span> <span class="kw1">EXISTS</span> <span class="br0">&#40;</span><span class="kw1">SELECT</span> * <span class="kw1">FROM</span> dbo.sysobjects <span class="kw1">WHERE</span> id = object_id<span class="br0">&#40;</span>N<span class="st0">&#8216;[dbo].[Mig_ImportDatabase]&#8216;</span><span class="br0">&#41;</span> <span class="kw1">AND</span> OBJECTPROPERTY<span class="br0">&#40;</span>id, N<span class="st0">&#8216;IsProcedure&#8217;</span><span class="br0">&#41;</span> = <span class="nu0">1</span><span class="br0">&#41;</span><br />
<span class="kw1">DROP</span> PROCEDURE <span class="br0">&#91;</span>dbo<span class="br0">&#93;</span>.<span class="br0">&#91;</span>Mig_ImportDatabase<span class="br0">&#93;</span><br />
GO</p>
<p><span class="kw1">CREATE</span> PROC dbo.Mig_ImportDatabase @Source SYSNAME <span class="kw1">AS</span>&nbsp; &nbsp;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; DECLARE @SERVER SYSNAME<br />
&nbsp; &nbsp; &nbsp; &nbsp; DECLARE @INSTANCE SYSNAME<br />
&nbsp; &nbsp; &nbsp; &nbsp; DECLARE @FULLNAME SYSNAME<br />
&nbsp; &nbsp; &nbsp; &nbsp; DECLARE @DBNAME SYSNAME<br />
&nbsp; &nbsp; &nbsp; &nbsp; DECLARE @cmd varchar<span class="br0">&#40;</span><span class="nu0">1000</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; DECLARE @SQL Nvarchar<span class="br0">&#40;</span><span class="nu0">1000</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; DECLARE @<span class="kw1">TABLE</span> Nvarchar<span class="br0">&#40;</span><span class="nu0">100</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; DECLARE @Result INT</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">SET</span> NOCOUNT <span class="kw1">ON</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">CREATE</span> <span class="kw1">TABLE</span> <span class="br0">&#91;</span><span class="co2">#Mig_FailedTables] ( [name] SYSNAME NOT NULL ) ON [PRIMARY]</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">SELECT</span> @SERVER = CONVERT<span class="br0">&#40;</span>SYSNAME, SERVERPROPERTY<span class="br0">&#40;</span><span class="st0">&#8216;servername&#8217;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">SELECT</span> @INSTANCE = IsNull<span class="br0">&#40;</span><span class="st0">&#8221;</span>,CONVERT<span class="br0">&#40;</span>SYSNAME, SERVERPROPERTY<span class="br0">&#40;</span><span class="st0">&#8216;InstanceName&#8217;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">SELECT</span> @DBNAME = DB_NAME<span class="br0">&#40;</span><span class="br0">&#41;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">IF</span><span class="br0">&#40;</span>Len<span class="br0">&#40;</span>@INSTANCE<span class="br0">&#41;</span>&gt;<span class="nu0">0</span><span class="br0">&#41;</span> <span class="kw1">SET</span> @FULLNAME = @SERVER + <span class="st0">&#8216;<span class="es0">\&#8217;</span> + @INSTANCE<br />
&nbsp; &nbsp; &nbsp; &nbsp; ELSE SET @FULLNAME = @SERVER</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; Print &#8216;</span>Migration started <span class="kw1">FROM</span> <span class="kw1">DATABASE</span> <span class="br0">&#91;</span><span class="st0">&#8216; + @SOURCE + &#8216;</span><span class="br0">&#93;</span> <span class="kw1">TO</span> <span class="kw1">DATABASE</span> <span class="br0">&#91;</span><span class="st0">&#8216; + @DBNAME + &#8216;</span><span class="br0">&#93;</span> <span class="kw1">ON</span> server &nbsp;<span class="st0">&#8216; + @FULLNAME</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &#8211;Cursor to loop throw all tables of Target database (current database)<br />
&nbsp; &nbsp; &nbsp; &nbsp; DECLARE CurTables CURSOR LOCAL FORWARD_ONLY<br />
&nbsp; &nbsp; &nbsp; &nbsp; OPTIMISTIC FOR<br />
&nbsp; &nbsp; &nbsp; &nbsp; SELECT NAME from dbo.sysobjects where OBJECTPROPERTY(id, N&#8217;</span>IsUserTable<span class="st0">&#8216;) = 1 order by Name</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; OPEN CurTables FETCH NEXT FROM CurTables INTO @Table<br />
&nbsp; &nbsp; &nbsp; &nbsp; WHILE @@FETCH_STATUS = 0<br />
&nbsp; &nbsp; &nbsp; &nbsp; BEGIN<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print &#8216;</span>Migrating <span class="kw1">TABLE</span> <span class="st0">&#8216; + @Table<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SET @cmd = &#8216;</span>ECHO Exec <span class="br0">&#91;</span>Mig_ImportTable<span class="br0">&#93;</span> <span class="st0">&#8221;</span><span class="st0">&#8216; + @Source + &#8216;</span><span class="st0">&#8221;</span>,<span class="st0">&#8221;</span><span class="st0">&#8216; + @Table + &#8216;</span><span class="st0">&#8221;</span> &nbsp;&gt; DbMig.sql<span class="st0">&#8216;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; EXEC @Result = master..xp_cmdshell @cmd, no_output</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SET @cmd = &#8216;</span>ECHO GO &nbsp;&gt;&gt; DbMig.sql<span class="st0">&#8216;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; EXEC @Result = &nbsp;master..xp_cmdshell @cmd, no_output</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SET @cmd = &#8216;</span>ECHO @ECHO OFF &nbsp;&gt; DbMig.cmd<span class="st0">&#8216;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; EXEC @Result = &nbsp;master..xp_cmdshell @cmd, no_output</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SET @cmd = &#8216;</span>ECHO osql -E -b -S <span class="st0">&quot;&#8217; + @FULLNAME +&#8217;&quot;</span> -d <span class="st0">&quot;&#8217; + @DBNAME +&#8217;&quot;</span> -i <span class="st0">&quot;DbMig.sql&quot;</span> &gt;&gt; DbMig.cmd<span class="st0">&#8216;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; EXEC @Result = &nbsp;master..xp_cmdshell @cmd, no_output</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SET @cmd = &#8216;</span>ECHO EXIT ERRORLEVEL &gt;&gt; DbMig.cmd<span class="st0">&#8216;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; EXEC @Result = &nbsp;master..xp_cmdshell @cmd, no_output</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SET @cmd = &#8216;</span>CMD /c <span class="st0">&quot;DbMig.cmd&gt;&gt;DbMig.Log&quot;</span><span class="st0">&#8216;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; EXEC @Result = master..xp_cmdshell @cmd, no_output<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IF (@Result &lt;&gt; 0)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Insert into #Mig_FailedTables (Name) values (@Table)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FETCH NEXT FROM CurTables INTO @Table</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; END<br />
&nbsp; &nbsp; &nbsp; &nbsp; CLOSE CurTables<br />
&nbsp; &nbsp; &nbsp; &nbsp; DEALLOCATE CurTables<br />
&nbsp; &nbsp; &nbsp; &nbsp; Print &#8216;</span>Migration Finished..<span class="st0">&#8216;<br />
&nbsp; &nbsp; &nbsp; &nbsp; SELECT Name as [Failed Tables] FROM #Mig_FailedTables<br />
&nbsp; &nbsp; &nbsp; &nbsp; DROP TABLE #Mig_FailedTables</p>
<p>GO</p>
<p>&#8212;&#8212;&#8212;&#8212;- Migration of data starts from here &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>USE TargetDatabase&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8212; Target Database &nbsp;&nbsp; &nbsp; ** Change This<br />
Exec Mig_ImportDatabase &#8216;</span>SourceDatabase<span class="st0">&#8216;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8212; Source Database &nbsp;&nbsp; &nbsp; ** Change This &#8211; Import Complete database<br />
EXEC Mig_ImportTable &#8216;</span>SourceDatabase<span class="st0">&#8216;,&#8217;</span>SpecificTableName<span class="st0">&#8216;&nbsp; &nbsp; &nbsp; &nbsp;&#8211; SpecificTableName &nbsp;&nbsp; ** Change This &#8211; Import Single Table<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></div>

                            <div id="aspdf">
                                <a href="http://www.rajneeshnoonia.com/blog/wp-content/plugins/as-pdf/generate.php?post=936">
                                    <span>Download post</span>
                                </a>
                            </div>
                        <div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F05%2Fexport-data-from-corrupted-database%2F&amp;title=Export+data+from+corrupted+database" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F05%2Fexport-data-from-corrupted-database%2F&amp;title=Export+data+from+corrupted+database" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F05%2Fexport-data-from-corrupted-database%2F&amp;title=Export+data+from+corrupted+database" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F05%2Fexport-data-from-corrupted-database%2F&amp;headline=Export+data+from+corrupted+database" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Export+data+from+corrupted+database&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F05%2Fexport-data-from-corrupted-database%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Export+data+from+corrupted+database&amp;u=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F05%2Fexport-data-from-corrupted-database%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Export+data+from+corrupted+database&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F05%2Fexport-data-from-corrupted-database%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Export+data+from+corrupted+database&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F05%2Fexport-data-from-corrupted-database%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Export+data+from+corrupted+database&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F05%2Fexport-data-from-corrupted-database%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F05%2Fexport-data-from-corrupted-database%2F&amp;title=Export+data+from+corrupted+database&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F05%2Fexport-data-from-corrupted-database%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F05%2Fexport-data-from-corrupted-database%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F05%2Fexport-data-from-corrupted-database%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div><div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=396873600346426";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.rajneeshnoonia.com/blog/2011/05/export-data-from-corrupted-database/" layout="button_count" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.rajneeshnoonia.com/blog/2011/05/export-data-from-corrupted-database/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compare DB &#8211; record counts</title>
		<link>http://www.rajneeshnoonia.com/blog/2011/04/compare-db-record-counts/</link>
		<comments>http://www.rajneeshnoonia.com/blog/2011/04/compare-db-record-counts/#comments</comments>
		<pubDate>Fri, 22 Apr 2011 09:09:20 +0000</pubDate>
		<dc:creator>Rajnish Noonia</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.rajneeshnoonia.com/blog/?p=929</guid>
		<description><![CDATA[<p>Code snippet will loop through all tables of Database SOURCEDB and compare record counts with tables in TARGETDB database</p> <p>USE SOURCEDB</p> <p>EXEC SP_MSforeachtable &#8216;DECLARE @OriCount INT<br />      DECLARE @Count INT<br />      DECLARE @Name VARCHAR(400)<br />      SET @Count = (SELECT COUNT(*) FROM TARGETDB.?)<br />      SET @OriCount = (SELECT COUNT(*) FROM SOURCEDB.?)<br />      SET @Name=&#8221;?&#8221;</p> [...]]]></description>
			<content:encoded><![CDATA[<p>Code snippet will loop through all tables of Database SOURCEDB and compare record counts with tables in TARGETDB database</p>
<p>USE SOURCEDB</p>
<p>EXEC SP_MSforeachtable &#8216;<span style="color: #ff0000;">DECLARE @OriCount INT<br />
     DECLARE @Count INT<br />
     DECLARE @Name VARCHAR(400)<br />
     SET @Count = (SELECT COUNT(*) FROM TARGETDB.?)<br />
     SET @OriCount = (SELECT COUNT(*) FROM SOURCEDB.?)<br />
     SET @Name=&#8221;?&#8221;</span></p>
<p><span style="color: #ff0000;">IF(@Count &lt;&gt; @OriCount)<br />
BEGIN<br />
         SELECT @Name,@Count as target,@OriCount as source</span></p>
<p><span style="color: #ff0000;">END</span>&#8216;</p>

                            <div id="aspdf">
                                <a href="http://www.rajneeshnoonia.com/blog/wp-content/plugins/as-pdf/generate.php?post=929">
                                    <span>Download post</span>
                                </a>
                            </div>
                        <div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F04%2Fcompare-db-record-counts%2F&amp;title=Compare+DB+-+record+counts" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F04%2Fcompare-db-record-counts%2F&amp;title=Compare+DB+-+record+counts" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F04%2Fcompare-db-record-counts%2F&amp;title=Compare+DB+-+record+counts" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F04%2Fcompare-db-record-counts%2F&amp;headline=Compare+DB+-+record+counts" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Compare+DB+-+record+counts&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F04%2Fcompare-db-record-counts%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Compare+DB+-+record+counts&amp;u=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F04%2Fcompare-db-record-counts%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Compare+DB+-+record+counts&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F04%2Fcompare-db-record-counts%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Compare+DB+-+record+counts&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F04%2Fcompare-db-record-counts%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Compare+DB+-+record+counts&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F04%2Fcompare-db-record-counts%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F04%2Fcompare-db-record-counts%2F&amp;title=Compare+DB+-+record+counts&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F04%2Fcompare-db-record-counts%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F04%2Fcompare-db-record-counts%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F04%2Fcompare-db-record-counts%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div><div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=396873600346426";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.rajneeshnoonia.com/blog/2011/04/compare-db-record-counts/" layout="button_count" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.rajneeshnoonia.com/blog/2011/04/compare-db-record-counts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xap Loader Splash Screen</title>
		<link>http://www.rajneeshnoonia.com/blog/2011/01/xap-loader-splash-screen/</link>
		<comments>http://www.rajneeshnoonia.com/blog/2011/01/xap-loader-splash-screen/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 21:53:17 +0000</pubDate>
		<dc:creator>Rajnish Noonia</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://www.rajneeshnoonia.com/blog/?p=917</guid>
		<description><![CDATA[<p> </p> <p><a href="http://go.microsoft.com/fwlink/?LinkID=149156" style="text-decoration: none;"></a><br /></p> <p>The objective of this article is to create custom xap loader screen without any background image and code behind (pure XAML).In the final application version, download progress of root xap file will be shown in the sample screen above..</p> <p>Will write more on this article in next few days &#8230;</p> <a href="http://www.rajneeshnoonia.com/blog/wp-content/plugins/as-pdf/generate.php?post=917"> [...]]]></description>
			<content:encoded><![CDATA[<p> </p>
<p><div id="silverlightControlHost"><object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="550" height="550"><param name="source" value="http://www.rajneeshnoonia.com/blog/uploads/code/Splash.xap"/><param name="background" value="white" /><param name="minRuntimeVersion" value="3.0.40723.0" /><param name="autoupgrade" value="true" /><param name="enableHtmlAccess" value="true" /><a href="http://go.microsoft.com/fwlink/?LinkID=149156" style="text-decoration: none;"><img src="http://storage.timheuer.com/sl4wp-ph.png" alt="Install Microsoft Silverlight" style="border-style: none; width:400px; height:200px"/></a></object><iframe style="visibility:hidden;height:0;width:0;border:0px" id="_sl_historyFrame"></iframe></div><br /></p>
<p>The objective of this article is to create custom xap loader screen without any background image and code behind (pure XAML).In the final application version, download progress of root xap file will be shown in the sample screen above..</p>
<p>Will write more on this article in next few days &#8230;</p>

                            <div id="aspdf">
                                <a href="http://www.rajneeshnoonia.com/blog/wp-content/plugins/as-pdf/generate.php?post=917">
                                    <span>Download post</span>
                                </a>
                            </div>
                        <div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fxap-loader-splash-screen%2F&amp;title=Xap+Loader+Splash+Screen" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fxap-loader-splash-screen%2F&amp;title=Xap+Loader+Splash+Screen" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fxap-loader-splash-screen%2F&amp;title=Xap+Loader+Splash+Screen" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fxap-loader-splash-screen%2F&amp;headline=Xap+Loader+Splash+Screen" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Xap+Loader+Splash+Screen&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fxap-loader-splash-screen%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Xap+Loader+Splash+Screen&amp;u=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fxap-loader-splash-screen%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Xap+Loader+Splash+Screen&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fxap-loader-splash-screen%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Xap+Loader+Splash+Screen&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fxap-loader-splash-screen%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Xap+Loader+Splash+Screen&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fxap-loader-splash-screen%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fxap-loader-splash-screen%2F&amp;title=Xap+Loader+Splash+Screen&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fxap-loader-splash-screen%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fxap-loader-splash-screen%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fxap-loader-splash-screen%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div><div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=396873600346426";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.rajneeshnoonia.com/blog/2011/01/xap-loader-splash-screen/" layout="button_count" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.rajneeshnoonia.com/blog/2011/01/xap-loader-splash-screen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Silverlight for Symbian S60 devices</title>
		<link>http://www.rajneeshnoonia.com/blog/2011/01/silverlight-for-symbian-s60-devices/</link>
		<comments>http://www.rajneeshnoonia.com/blog/2011/01/silverlight-for-symbian-s60-devices/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 09:57:31 +0000</pubDate>
		<dc:creator>Rajnish Noonia</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://www.rajneeshnoonia.com/blog/?p=912</guid>
		<description><![CDATA[<p>Microsoft has released Silverlight platform design to work with Symbian S60 devices at the on MIX10 conference at Las Vegas.The plateform is now available for Nokia SymbianOS (S60 5th Edition) devices i.e. Nokia 5235, 5800 XpressMusic, Nokia N97 and Nokia N97 Mini Mobiles. I did some basic test with nokia 5235 and it runs with charm.</p> <p>The [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft has released Silverlight platform design to work with Symbian S60 devices at the on MIX10 conference at Las Vegas.The plateform is now available for Nokia SymbianOS (S60 5th Edition) devices i.e. Nokia 5235, 5800 XpressMusic, Nokia N97 and Nokia N97 Mini Mobiles. I did some basic test with nokia 5235 and it runs with charm.</p>
<p>The current Silverlight beta for Symbian comes in two forms – one as an installer for Symbian (S60 5th edition) devices and the second one in the form of a developer tools suite for developing Silverlight applications for Symbian devices including emulator etc.</p>
<p>Silverlight includes a Runtime that is optimized to display content on memory-constrained devices.</p>
<ul>
<li> The ability to view Silverlight applications in the mobile browser.</li>
<li> Tools to build Silverlight applications that target devices</li>
</ul>
<p>Microsoft has bought the Silverlight platform to a non-Microsoft mobile platform for the first time ever.</p>
<p>In order to get started with Silverlight for Symbian, you will want to familiarize yourself with the platform capabilities.</p>
<p>More resources are available on <a href="http://msdn.microsoft.com/en-us/library/ff770308(v=vs.95).aspx" target="_blank">microsoft website</a>.</p>
<p>Days are not far when you will see silverlight on rest of consumer devices ..</p>

                            <div id="aspdf">
                                <a href="http://www.rajneeshnoonia.com/blog/wp-content/plugins/as-pdf/generate.php?post=912">
                                    <span>Download post</span>
                                </a>
                            </div>
                        <div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fsilverlight-for-symbian-s60-devices%2F&amp;title=Silverlight+for+Symbian+S60+devices+" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fsilverlight-for-symbian-s60-devices%2F&amp;title=Silverlight+for+Symbian+S60+devices+" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fsilverlight-for-symbian-s60-devices%2F&amp;title=Silverlight+for+Symbian+S60+devices+" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fsilverlight-for-symbian-s60-devices%2F&amp;headline=Silverlight+for+Symbian+S60+devices+" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Silverlight+for+Symbian+S60+devices+&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fsilverlight-for-symbian-s60-devices%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Silverlight+for+Symbian+S60+devices+&amp;u=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fsilverlight-for-symbian-s60-devices%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Silverlight+for+Symbian+S60+devices+&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fsilverlight-for-symbian-s60-devices%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Silverlight+for+Symbian+S60+devices+&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fsilverlight-for-symbian-s60-devices%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Silverlight+for+Symbian+S60+devices+&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fsilverlight-for-symbian-s60-devices%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fsilverlight-for-symbian-s60-devices%2F&amp;title=Silverlight+for+Symbian+S60+devices+&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fsilverlight-for-symbian-s60-devices%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fsilverlight-for-symbian-s60-devices%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Fwww.rajneeshnoonia.com%2Fblog%2F2011%2F01%2Fsilverlight-for-symbian-s60-devices%2F" ><img class="lightsocial_img" src="http://www.rajneeshnoonia.com/blog/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div><div class="al2fb_like_button"><div id="fb-root"></div><script type="text/javascript">
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=396873600346426";
  fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
<fb:like href="http://www.rajneeshnoonia.com/blog/2011/01/silverlight-for-symbian-s60-devices/" layout="button_count" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.rajneeshnoonia.com/blog/2011/01/silverlight-for-symbian-s60-devices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

