<?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>ganshani.com &#187; C#</title>
	<atom:link href="http://www.ganshani.com/tag/c/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ganshani.com</link>
	<description>Puneet Ghanshani - .NET, Silverlight, Sharepoint Articles, Blogs, Poems, Photograph</description>
	<lastBuildDate>Sat, 24 Apr 2010 10:17:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Ten Traps in C# for C++ Programmers</title>
		<link>http://www.ganshani.com/2009/07/24/ten-traps-in-c-for-c-programmers/</link>
		<comments>http://www.ganshani.com/2009/07/24/ten-traps-in-c-for-c-programmers/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 12:03:19 +0000</pubDate>
		<dc:creator>Punit Ganshani</dc:creator>
				<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://www.ganshani.com/?p=331</guid>
		<description><![CDATA[
			
				
			
		
Though this boils down to basics, these are most often missed out in projects and hence are performance issues.
 
http://ondotnet.com/pub/a/oreilly/dotnet/news/programmingCsharp_0801.html 
 
The author has very beautifully touched on topics like:


Destructors


Dispose and Finalize


Value &#38; Reference Types


Boxing


Structures


Virtual methods


and many more&#8230;


A must read for newbies&#8230;
 


Related posts:Validation
Only Numbers in TextBox
Interface vs Object vs Aspect Oriented Programming



<h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/04/23/validation/' rel='bookmark' title='Permanent Link: Validation'>Validation</a></li>
<li><a href='http://www.ganshani.com/2008/04/10/only-numbers-in-textbox/' rel='bookmark' title='Permanent Link: Only Numbers in TextBox'>Only Numbers in TextBox</a></li>
<li><a href='http://www.ganshani.com/2009/06/30/interface-vs-object-vs-aspect-oriented-programming/' rel='bookmark' title='Permanent Link: Interface vs Object vs Aspect Oriented Programming'>Interface vs Object vs Aspect Oriented Programming</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ganshani.com%2F2009%2F07%2F24%2Ften-traps-in-c-for-c-programmers%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ganshani.com%2F2009%2F07%2F24%2Ften-traps-in-c-for-c-programmers%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-family: &quot;Comic Sans MS&quot;; color: #0000cc; font-size: 10pt; mso-bidi-font-size: 11.0pt;">Though this boils down to basics, these are most often missed out in projects and hence are performance issues.</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-family: &quot;Comic Sans MS&quot;; color: #0000cc; font-size: 10pt; mso-bidi-font-size: 11.0pt;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-family: &quot;Comic Sans MS&quot;; color: #0000cc; font-size: 10pt; mso-bidi-font-size: 11.0pt;"><a href="http://ondotnet.com/pub/a/oreilly/dotnet/news/programmingCsharp_0801.html">http://ondotnet.com/pub/a/oreilly/dotnet/news/programmingCsharp_0801.html</a> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"> </p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-family: &quot;Comic Sans MS&quot;; color: #0000cc; font-size: 10pt; mso-bidi-font-size: 11.0pt;">The author has very beautifully touched on topics like:</span></p>
<ol>
<li>
<div class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-family: &quot;Comic Sans MS&quot;; color: #0000cc; font-size: 10pt; mso-bidi-font-size: 11.0pt;">Destructors</span></div>
</li>
<li>
<div class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-family: &quot;Comic Sans MS&quot;; color: #0000cc; font-size: 10pt; mso-bidi-font-size: 11.0pt;">Dispose and Finalize</span></div>
</li>
<li>
<div class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-family: &quot;Comic Sans MS&quot;; color: #0000cc; font-size: 10pt; mso-bidi-font-size: 11.0pt;">Value &amp; Reference Types</span></div>
</li>
<li>
<div class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-family: &quot;Comic Sans MS&quot;; color: #0000cc; font-size: 10pt; mso-bidi-font-size: 11.0pt;">Boxing</span></div>
</li>
<li>
<div class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-family: &quot;Comic Sans MS&quot;; color: #0000cc; font-size: 10pt; mso-bidi-font-size: 11.0pt;">Structures</span></div>
</li>
<li>
<div class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-family: &quot;Comic Sans MS&quot;; color: #0000cc; font-size: 10pt; mso-bidi-font-size: 11.0pt;">Virtual methods</span></div>
</li>
<li>
<div class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-family: &quot;Comic Sans MS&quot;; color: #0000cc; font-size: 10pt; mso-bidi-font-size: 11.0pt;">and many more&#8230;</span></div>
</li>
</ol>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-family: &quot;Comic Sans MS&quot;; color: #0000cc; font-size: 10pt; mso-bidi-font-size: 11.0pt;">A must read for newbies&#8230;</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"> </p>


<p><h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/04/23/validation/' rel='bookmark' title='Permanent Link: Validation'>Validation</a></li>
<li><a href='http://www.ganshani.com/2008/04/10/only-numbers-in-textbox/' rel='bookmark' title='Permanent Link: Only Numbers in TextBox'>Only Numbers in TextBox</a></li>
<li><a href='http://www.ganshani.com/2009/06/30/interface-vs-object-vs-aspect-oriented-programming/' rel='bookmark' title='Permanent Link: Interface vs Object vs Aspect Oriented Programming'>Interface vs Object vs Aspect Oriented Programming</a></li>
</ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.ganshani.com/2009/07/24/ten-traps-in-c-for-c-programmers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interface vs Object vs Aspect Oriented Programming</title>
		<link>http://www.ganshani.com/2009/06/30/interface-vs-object-vs-aspect-oriented-programming/</link>
		<comments>http://www.ganshani.com/2009/06/30/interface-vs-object-vs-aspect-oriented-programming/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 12:14:44 +0000</pubDate>
		<dc:creator>Punit Ganshani</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Microsoft .NET]]></category>
		<category><![CDATA[OOPS]]></category>

		<guid isPermaLink="false">http://www.ganshani.com/?p=333</guid>
		<description><![CDATA[
			
				
			
		
Interface oriented is something like having contract-based approach, means whatsoever be there under the Contract you have to implement all of it. A good example of this is : WCF.
Object oriented is based on
1. abstraction &#8211; which means making things loosely coupled so that in future they can be easily handled without affecting the system.
2. [...]


<h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/04/10/only-numbers-in-textbox/' rel='bookmark' title='Permanent Link: Only Numbers in TextBox'>Only Numbers in TextBox</a></li>
<li><a href='http://www.ganshani.com/2009/02/24/exception-message-box-in-c/' rel='bookmark' title='Permanent Link: Exception Message Box in C#'>Exception Message Box in C#</a></li>
<li><a href='http://www.ganshani.com/2008/11/29/using-smart-client-with-enterprise-library-4/' rel='bookmark' title='Permanent Link: Using Smart Client with Enterprise Library 4'>Using Smart Client with Enterprise Library 4</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ganshani.com%2F2009%2F06%2F30%2Finterface-vs-object-vs-aspect-oriented-programming%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ganshani.com%2F2009%2F06%2F30%2Finterface-vs-object-vs-aspect-oriented-programming%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><strong>Interface oriented</strong> is something like having contract-based approach, means whatsoever be there under the Contract you have to implement all of it. A good example of this is : WCF.</p>
<p><strong>Object oriented</strong> is based on</p>
<p>1. abstraction &#8211; which means making things loosely coupled so that in future they can be easily handled without affecting the system.</p>
<p>2. encapsulation(data hiding) &#8211; categorizing data as per their role i.e private, public, etc.</p>
<p>3. inheritance &#8211; provides the real world genetic mechanism as what&#8217;s there in the parent would be there in the child too(or not).</p>
<p>4. and polymorphism &#8211; means same look and feel but different functional abiltity.</p>
<p><strong>Aspect oriented </strong>programming can be done either on Interface oriented or an Object oriented code. It can not exist alone.  AOP is another method of reducing the redundant code and its impact.  Let&#8217;s see an example:</p>
<p>You have a class ResultGraph in a Stock Application, which has say 5 methods (like MethodA, MethodB, MethodC, MethodD, UpdateGraphics). </p>
<p>Assume that just after a method (say, MethodX) is executed, the stock price changes &#8211; hence the graph needs to be re-rendered. In such case, UpdateGraphics needs to be called.  Which means all 5 functions will call UpdateGraphics.</p>
<p>This appears to be simple since the number of functions is less. In a real time scenario, there are 100&#8217;s of methods and implementing this becomes tough.</p>
<p>AOP enables doing it in an easier manner.  We write something like:-</p>
<p>after() : set() {   <br />
        ResultGraph.UpdateGraphics();<br />
}</p>
<p>pointcut set() : execution(<span style="color: #008000;">*</span> <span style="color: #0000ff;">set*</span>(<span style="color: #ff0000;">*</span>) ) &amp;&amp; this(<span style="color: #ff00ff;">StockClass</span>) &amp;&amp; <span style="color: #ff6600;">within(com.company.*);</span></p>
<p>The first code means, whenever any <span style="text-decoration: underline;">set</span> is called, call ResultGraph.UpdateGraphics()</p>
<p>The second code interprets as,</p>
<p>if a method is named <span style="color: #0000ff;"><span style="text-decoration: underline;">set*:</span>(* means any name might follow after set)</span>, <span style="color: #008000;">regardless of what the method returns (first asterisk)</span> or <span style="color: #ff0000;">what parameters it takes (third asterisk)</span> and <span style="color: #ff00ff;">it is a method of StockClass </span>and <span style="color: #ff6600;">this class is part of the package &#8220;com.company.*&#8221;</span>, then this is a set() pointcut. And our first code says &#8220;after running any method that is a set pointcut, run the following code&#8221;.</p>
<p>I hope now the difference is clear&#8230;</p>


<p><h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/04/10/only-numbers-in-textbox/' rel='bookmark' title='Permanent Link: Only Numbers in TextBox'>Only Numbers in TextBox</a></li>
<li><a href='http://www.ganshani.com/2009/02/24/exception-message-box-in-c/' rel='bookmark' title='Permanent Link: Exception Message Box in C#'>Exception Message Box in C#</a></li>
<li><a href='http://www.ganshani.com/2008/11/29/using-smart-client-with-enterprise-library-4/' rel='bookmark' title='Permanent Link: Using Smart Client with Enterprise Library 4'>Using Smart Client with Enterprise Library 4</a></li>
</ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.ganshani.com/2009/06/30/interface-vs-object-vs-aspect-oriented-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exception Message Box in C#</title>
		<link>http://www.ganshani.com/2009/02/24/exception-message-box-in-c/</link>
		<comments>http://www.ganshani.com/2009/02/24/exception-message-box-in-c/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 09:01:47 +0000</pubDate>
		<dc:creator>Punit Ganshani</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Microsoft .NET]]></category>
		<category><![CDATA[Winform]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[mytracker]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://www.ganshani.com/?p=163</guid>
		<description><![CDATA[
			
				
			
		
 
Its time to forget the old traditional message box with limited functionalities. buttons, icons, text area and what not! Microsoft has unleashed a new message box &#8211; new, yet not so new.
For those who have used SQL Sever 2005 GUI, might have probably noticed a message box that shows additional information, copying the text to [...]


<h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/09/06/strong-naming-an-existing-assembly/' rel='bookmark' title='Permanent Link: Strong Naming an existing assembly'>Strong Naming an existing assembly</a></li>
<li><a href='http://www.ganshani.com/2008/07/12/dlin/' rel='bookmark' title='Permanent Link: DLINQ'>DLINQ</a></li>
<li><a href='http://www.ganshani.com/2008/11/29/using-smart-client-with-enterprise-library-4/' rel='bookmark' title='Permanent Link: Using Smart Client with Enterprise Library 4'>Using Smart Client with Enterprise Library 4</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ganshani.com%2F2009%2F02%2F24%2Fexception-message-box-in-c%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ganshani.com%2F2009%2F02%2F24%2Fexception-message-box-in-c%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p> </p>
<p>Its time to forget the old traditional message box with limited functionalities. buttons, icons, text area and what not! Microsoft has unleashed a new message box &#8211; new, yet not so new.</p>
<p>For those who have used SQL Sever 2005 GUI, might have probably noticed a message box that shows additional information, copying the text to clipboard, a checkbox on message box, different set of buttons and many more features.  This message box is now open for reuse in your applications. </p>
<p>This is not a &#8216;big-bang&#8217; release made by Microsoft.  It has come out very quietly. Yes the name &#8216;ExceptionMessageBox&#8217; is confusing &#8211; but you can still use it in your applications. This standalone exception dialog box can be used in applications just like any other managed APIs.</p>
<p>Probably, you never know the next version of myTracker may use this message box too <img src='http://www.ganshani.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Let&#8217;s hear it from Microsoft:</p>
<p><span style="color: #800000;"><em>The exception message box is a programmatic interface that you can use in your applications for any tasks for which MessageBox may be used. The exception message box is a supported managed assembly designed to elegantly handle managed code exceptions. It provides significantly more control over the messaging experience and gives your users the options to save error message content for later reference and to get help on messages.</em></span></p>
<p>Download Link: </p>
<p><strong>http://download.microsoft.com/download/f/7/4/f74cbdb1-87e2-4794-9186-e3ad6bd54b41/SQLServer2005_EMB.msi </strong></p>
<div></div>


<p><h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/09/06/strong-naming-an-existing-assembly/' rel='bookmark' title='Permanent Link: Strong Naming an existing assembly'>Strong Naming an existing assembly</a></li>
<li><a href='http://www.ganshani.com/2008/07/12/dlin/' rel='bookmark' title='Permanent Link: DLINQ'>DLINQ</a></li>
<li><a href='http://www.ganshani.com/2008/11/29/using-smart-client-with-enterprise-library-4/' rel='bookmark' title='Permanent Link: Using Smart Client with Enterprise Library 4'>Using Smart Client with Enterprise Library 4</a></li>
</ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.ganshani.com/2009/02/24/exception-message-box-in-c/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using Smart Client with Enterprise Library 4</title>
		<link>http://www.ganshani.com/2008/11/29/using-smart-client-with-enterprise-library-4/</link>
		<comments>http://www.ganshani.com/2008/11/29/using-smart-client-with-enterprise-library-4/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 15:09:08 +0000</pubDate>
		<dc:creator>Punit Ganshani</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Microsoft .NET]]></category>
		<category><![CDATA[Winform]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[EL]]></category>
		<category><![CDATA[Smart Client]]></category>

		<guid isPermaLink="false">http://www.ganshani.com/?p=132</guid>
		<description><![CDATA[
			
				
			
		
Wow!  Compatibility between SCSF and EL 4 has troubled me many a times in some of my critical projects. Visual Studio 2008 does not allow installation of EL 3.1 and SCSF is based on EL 3.1.
To install EL 4.0 and to make it compatible with SCSF on VS2008 &#8211; here are the steps:
1. Rebuild Block [...]


<h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/09/06/strong-naming-an-existing-assembly/' rel='bookmark' title='Permanent Link: Strong Naming an existing assembly'>Strong Naming an existing assembly</a></li>
<li><a href='http://www.ganshani.com/2009/02/24/exception-message-box-in-c/' rel='bookmark' title='Permanent Link: Exception Message Box in C#'>Exception Message Box in C#</a></li>
<li><a href='http://www.ganshani.com/2009/05/14/finding-currently-focused-control/' rel='bookmark' title='Permanent Link: Finding currently focused control'>Finding currently focused control</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ganshani.com%2F2008%2F11%2F29%2Fusing-smart-client-with-enterprise-library-4%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ganshani.com%2F2008%2F11%2F29%2Fusing-smart-client-with-enterprise-library-4%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Wow!  Compatibility between SCSF and EL 4 has troubled me many a times in some of my critical projects. Visual Studio 2008 does not allow installation of EL 3.1 and SCSF is based on EL 3.1.</p>
<p>To install EL 4.0 and to make it compatible with SCSF on VS2008 &#8211; here are the steps:</p>
<p>1. Rebuild Block Assemblies<br />
2. Update Guidance Package<br />
3. Update SCSF Application<br />
 </p>
<h1><strong><span style="color: #0000ff;">Rebuild Block Assemblies</span></strong></h1>
<p class="MsoNormal"><strong><span>1.</span></strong><span> </span><span>Extract the</span><span> </span><strong><span>Smart Client Software Factory Source Code</span></strong><span>.</span></p>
<p class="MsoNormal"><strong><span>2.</span></strong><span> </span><span>Open the</span><span> </span><strong><span>SmartClient.Offline</span></strong><span> </span><span>solution located at the source code installation folder.</span></p>
<p class="MsoNormal"><strong><span>3.</span></strong><span> </span><span>Remove from the</span><span> </span><strong><span>SmartClient.EnterpriseLibrary</span></strong><span> </span><span>and</span><span> </span><strong><span>SmartClient.EnterpriseLibrary.Tests</span></strong><span> </span><span>projects the references to the following assemblies:</span></p>
<p class="MsoNormal"><span><span>     &#8211; <span> </span></span></span><em><span>Microsoft.Practices.EnterpriseLibrary.Common<br />
<span style="font-style: normal;"><span><span>     -<span>  </span></span></span><em><span>Microsoft.Practices.EnterpriseLibrary.Data<br />
<span style="font-style: normal;"><span><span>     &#8211; <span> </span></span></span><em><span>SmartClient.EnterpriseLibrary.Data.SqlCe</span></em></span></span></em></span></span></em></p>
<p class="MsoNormal"><strong><span>4.</span></strong><span> </span><span>Add, In the</span><span> </span><strong><span>SmartClient.EnterpriseLibrary</span></strong><span> </span><span>and</span><span> </span><strong><span>SmartClient.EnterpriseLibrary.Tests</span></strong><span> </span><span>projects, references to the following Enterprise Library assemblies (located at Enterprise Library assemblies located at</span><span> </span><strong><span>%Enterprise Library 4 installation folder%\Bin</span></strong><span>):</span></p>
<p class="MsoNormal"><span><span>     &#8211; <span> </span></span></span><em><span>Microsoft.Practices.EnterpriseLibrary.Common.dll<br />
<span style="font-style: normal;"><span><span>     &#8211; <span> </span></span></span><em><span>Microsoft.Practices.EnterpriseLibrary.Data.dll<br />
<span style="font-style: normal;"><span><span>     &#8211; <span> </span></span></span><em><span>Microsoft.Practices.EnterpriseLibrary.Data.SqlCe.dll</span></em></span></span></em></span></span></em></p>
<p class="MsoNormal"><strong><span>5.</span></strong><span> </span><span>In the</span><span> </span><strong><span>SmartClient.EnterpriseLibrary</span></strong><span> </span><span>project, open</span><span> </span><strong><span>SmartClientDatabase.cs</span></strong><span> </span><span>file and replace the following</span><span> </span><strong><span>using</span></strong><span> </span><span>statement:</span></p>
<p><span>using Microsoft.Practices.SmartClient.EnterpriseLibrary.Data.SqlCe;</span></p>
<p class="MsoNormal"><strong><span>with:</span></strong><span> </span></p>
<p><strong></strong>using Microsoft.Practices.EnterpriseLibrary.Data.SqlCe;</p>
<p> </p>
<h1><strong><span><span style="color: #0000ff;">Updating the Guidance Package</span><br />
 </span></strong></h1>
<p> </p>
<p> </p>
<p class="MsoNormal"><strong><span>1.</span></strong><span> </span><span>Open the</span><span> </span><strong><span>GuidancePackage</span></strong><span> </span><span>solution located at the SC-SF source folder.</span></p>
<p class="MsoNormal"><strong><span>2.</span></strong><span> </span><span>Open the</span><span> </span><strong><span>App.config.template</span></strong><span> </span><span>located under the folders located at</span><span> </span><strong><span>Templates\Solutions\Projects\Shell.*.*</span></strong><span> </span><span>(<em>Shell.Basic.CS, Shell.Basic.VB, Shell.Extended.CS and Shell.Extended.VB</em>) in the</span><span> </span><strong><span>SmartClientFactoryPackage</span></strong><span> </span><span>project.</span></p>
<p class="MsoNormal"><strong><span>3.</span></strong><span> </span><span>Find and replace on each</span><span> </span><strong><span>App.config.template</span></strong><span> </span><span>file the string “<strong>Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</strong>” with “<strong>Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35</strong>”.</span></p>
<p class="MsoNormal"><strong><span>4.</span></strong><span> </span><span>Create a folder to store the new assemblies (e.g. at %SC-SF installation folder%\Lib with EntLib 4.0). In this folder, copy the Enterprise Library 4.0 assemblies and the Smart Client assemblies generated in Step 1. You should have the same assemblies you have at %SC-SF installation folder%\Lib but updated to use Enterprise Library 4.0.</p>
<p></span></p>
<p class="MsoNormal"><strong><span>5.</span></strong><span> </span><span>Open the file</span><span> </span><strong><span>CreateSmartClientFactorySolutionCommon.xml</span></strong><span> </span><span>file located at</span><span> </span><strong><span>Recipes\Common</span></strong><span> </span><span>folder of the</span><span> </span><strong><span>SmartClientFactoryPackage</span></strong><span> </span><span>project. You will change the path where the Create Solution recipe looks for the required assemblies by default.</span></p>
<p class="MsoNormal"><strong><span><br />
6.</span></strong><span> </span><span>Find the</span><span> </span><strong><span>SupportLibrariesPath</span></strong><span> </span><span>argument and replace it with the following:</span></p>
<div>
<p class="MsoNormal"><span>&lt;Argument Name=&#8221;SupportLibrariesPath&#8221; Required=&#8221;true&#8221; Type=&#8221;System.String&#8221;&gt;<br />
<span>  </span>&lt;ValueProvider Type=&#8221;Evaluator&#8221; Expression=&#8221;Paste here the path to the folder created at Step 4&#8243;&gt;<br />
<span>  </span>&lt;/ValueProvider&gt;<br />
&lt;/Argument&gt;</span></p>
</div>
<p class="MsoNormal"><span><strong><span>7.</span></strong><span> </span><span>Save all.</span></span></p>
<p class="MsoNormal"><strong><span>8.</span></strong><span> </span><span>Register the custom Guidance Package. To do this, right click the</span><span> </span><strong><span>SmartClientFactoryPackage</span></strong><span> </span><span>project and select</span><span> </span><strong><span>Register Guidance Package</span></strong><span>.</span></p>
<p> </p>
<h1></h1>
<h1><span style="color: #0000ff;">Update existing SCSF Application</span></h1>
<p> </p>
<p class="MsoNormal"><strong><span>1.</span></strong><span> </span><span>If your solution uses the</span><span> </span><strong><span>Microsoft.Practices.SmartClient.EnterpriseLibrary.dll</span></strong><span> </span><span>assembly, follow the steps described in the</span><span> </span><strong><span>Rebuilding the Block Assemblies</span></strong><span> </span><span>section to update this assembly and perform the following sub-steps:</span><span></span></p>
<ol type="1">
<li> 
<ol type="1">
<li class="MsoNormal"><span>Find       the</span><span> </span><strong><span>Microsoft.Practices.SmartClient.EnterpriseLibrary.dll</span></strong><span> </span><span>generated assembly located       at</span><span> </span><strong><span>%Source code installation       folder%\Blocks\Offline\Source\DataAccess.EnterpriseLibrary\bin\Debug</span></strong><span>.</span></li>
<li class="MsoNormal"><span>Copy       the previous assembly and replace them in the</span><span> </span><strong><span>Lib</span></strong><span> </span><span>folder of your solution.</span></li>
<li class="MsoNormal"><span>Update       the references of your projects to use the updated</span><span> </span><strong><span>Microsoft.Practices.SmartClient.EnterpriseLibrary.dll</span></strong><span> </span><span>assembly</span></li>
<li class="MsoNormal"><span>Remove       the reference to</span><span> </span><strong><span>Microsoft.Practices.SmartClient.EnterpriseLibrary.Data.SqlCe.dll</span></strong><span> </span><span>(it was replaced with the       one provided by</span><span> </span><strong><span>Enterprise Library 4</span></strong><span>) and add a reference to</span><span> </span><strong><span>Microsoft.Practices.EnterpriseLibrary.Data.SqlCe.dll</span></strong><span> </span><span>assembly located at</span><span> </span><strong><span>%Enterprise Library 4       installation folder%\Bin</span></strong><span>.</span></li>
</ol>
</li>
</ol>
<p class="MsoNormal"><strong><span>2.</span></strong><span> </span><span>Copy the Enterprise Library 4.0 assemblies (located at</span><span> </span><strong><span>%Enterprise Library 4 installation folder%\Bin</span></strong><span>) and replace them in the</span><span> </span><strong><span>Lib</span></strong><span> </span><span>folder of your solution.</span></p>
<p class="MsoNormal"><strong><span>3.</span></strong><span> </span><span>Update the references to the</span><span> </span><strong><span>Enterprise Library</span></strong><span> </span><span>assemblies in all the projects in your solution using the new assemblies copied into the</span><span> </span><strong><span>Lib</span></strong><span> </span><span>folder.</span></p>
<p class="MsoNormal"><strong><span>4.</span></strong><span> </span><span>Open the</span><span> </span><strong><span>App.config</span></strong><span> </span><span>file and find and replace the string</span><span> </span><strong><span>“Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</span></strong><span>” with “<strong>Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35</strong>”.</span></p>
<p><strong><span>5.</span></strong><span> </span><span>Save all</span></p>


<p><h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/09/06/strong-naming-an-existing-assembly/' rel='bookmark' title='Permanent Link: Strong Naming an existing assembly'>Strong Naming an existing assembly</a></li>
<li><a href='http://www.ganshani.com/2009/02/24/exception-message-box-in-c/' rel='bookmark' title='Permanent Link: Exception Message Box in C#'>Exception Message Box in C#</a></li>
<li><a href='http://www.ganshani.com/2009/05/14/finding-currently-focused-control/' rel='bookmark' title='Permanent Link: Finding currently focused control'>Finding currently focused control</a></li>
</ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.ganshani.com/2008/11/29/using-smart-client-with-enterprise-library-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bluetooth with C#</title>
		<link>http://www.ganshani.com/2008/06/28/bluetooth-with-csharp/</link>
		<comments>http://www.ganshani.com/2008/06/28/bluetooth-with-csharp/#comments</comments>
		<pubDate>Sat, 28 Jun 2008 18:25:18 +0000</pubDate>
		<dc:creator>Punit Ganshani</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Microsoft .NET]]></category>
		<category><![CDATA[Winform]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[bluetooth]]></category>

		<guid isPermaLink="false">http://www.ganshani.com/?p=92</guid>
		<description><![CDATA[
			
				
			
		
Bluetooth Manager has following functionalities:
1. Discovery of devices
2. Finding out MAC address
3. Sending a File through Bluetooth

You can search the device, select one of the available ones and then send a text file to the user. The application uses In The Hand APIs. For more information about APIs: http://inthehand.com/
Click here to download the example


Related posts:Exception [...]


<h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2009/02/24/exception-message-box-in-c/' rel='bookmark' title='Permanent Link: Exception Message Box in C#'>Exception Message Box in C#</a></li>
<li><a href='http://www.ganshani.com/2008/11/29/using-smart-client-with-enterprise-library-4/' rel='bookmark' title='Permanent Link: Using Smart Client with Enterprise Library 4'>Using Smart Client with Enterprise Library 4</a></li>
<li><a href='http://www.ganshani.com/2008/09/06/strong-naming-an-existing-assembly/' rel='bookmark' title='Permanent Link: Strong Naming an existing assembly'>Strong Naming an existing assembly</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ganshani.com%2F2008%2F06%2F28%2Fbluetooth-with-csharp%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ganshani.com%2F2008%2F06%2F28%2Fbluetooth-with-csharp%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Bluetooth Manager has following functionalities:</p>
<p>1. Discovery of devices</p>
<p>2. Finding out MAC address</p>
<p>3. Sending a File through Bluetooth</p>
<p><img src="http://www.ganshani.com/wp-content/uploads/2008/06/bluetooth1.jpg" alt="Bluetooth UI" width="299" height="193" /></p>
<p>You can search the device, select one of the available ones and then send a text file to the user. The application uses In The Hand APIs. For more information about APIs: <a href="http://inthehand.com/">http://inthehand.com/</a></p>
<p><a href="http://cid-25b0875d174333fe.skydrive.live.com/self.aspx/.Public/Applications/POC/bluetoothpoc.zip">Click here to download the example</a></p>


<p><h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2009/02/24/exception-message-box-in-c/' rel='bookmark' title='Permanent Link: Exception Message Box in C#'>Exception Message Box in C#</a></li>
<li><a href='http://www.ganshani.com/2008/11/29/using-smart-client-with-enterprise-library-4/' rel='bookmark' title='Permanent Link: Using Smart Client with Enterprise Library 4'>Using Smart Client with Enterprise Library 4</a></li>
<li><a href='http://www.ganshani.com/2008/09/06/strong-naming-an-existing-assembly/' rel='bookmark' title='Permanent Link: Strong Naming an existing assembly'>Strong Naming an existing assembly</a></li>
</ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.ganshani.com/2008/06/28/bluetooth-with-csharp/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Regex: To match C#, Java, VB.Net Comments</title>
		<link>http://www.ganshani.com/2008/04/29/regex-to-match-c-java-vbnet-comments/</link>
		<comments>http://www.ganshani.com/2008/04/29/regex-to-match-c-java-vbnet-comments/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 15:41:08 +0000</pubDate>
		<dc:creator>Punit Ganshani</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Microsoft .NET]]></category>

		<guid isPermaLink="false">http://www.ganshani.com/?p=76</guid>
		<description><![CDATA[
			
				
			
		
Ever worked on removing comments from a C#, Java, VB and VB.Net code?
Well, just adding 2 reg-ex to your library&#8230;
Click Regexlib.com to navigate to the actual page
C#/Java Matches:                 /* multi-line */ &#124; // comment &#124; /// XML Comment
VB/VB.Net Matches: [...]


<h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/04/10/only-numbers-in-textbox/' rel='bookmark' title='Permanent Link: Only Numbers in TextBox'>Only Numbers in TextBox</a></li>
<li><a href='http://www.ganshani.com/2008/11/29/using-smart-client-with-enterprise-library-4/' rel='bookmark' title='Permanent Link: Using Smart Client with Enterprise Library 4'>Using Smart Client with Enterprise Library 4</a></li>
<li><a href='http://www.ganshani.com/2009/06/30/interface-vs-object-vs-aspect-oriented-programming/' rel='bookmark' title='Permanent Link: Interface vs Object vs Aspect Oriented Programming'>Interface vs Object vs Aspect Oriented Programming</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ganshani.com%2F2008%2F04%2F29%2Fregex-to-match-c-java-vbnet-comments%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ganshani.com%2F2008%2F04%2F29%2Fregex-to-match-c-java-vbnet-comments%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Ever worked on removing comments from a C#, Java, VB and VB.Net code?</p>
<p>Well, just adding 2 reg-ex to your library&#8230;</p>
<p>Click <a href="http://regexlib.com/(A(Ov-GHjGBiwd421Y6Wry8PKJyR8FfxdkB6YougcQg38IldzGaBu4jAixf3Lk0a8k5alUoEqVVjUIG3xQjPmgCalGI9egMXZit1vdnUloqhoA1))/UserPatterns.aspx?authorId=3f7db5f3-01a2-43fd-9347-2ec23e8c65c6">Regexlib.com</a> to navigate to the actual page</p>
<p><strong>C#/Java Matches</strong>:                 /* multi-line */ | // comment | /// XML Comment</p>
<p><strong>VB/VB.Net Matches</strong>:             REM comment | &#8216;comment | &#8221;&#8217; XML comment</p>


<p><h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/04/10/only-numbers-in-textbox/' rel='bookmark' title='Permanent Link: Only Numbers in TextBox'>Only Numbers in TextBox</a></li>
<li><a href='http://www.ganshani.com/2008/11/29/using-smart-client-with-enterprise-library-4/' rel='bookmark' title='Permanent Link: Using Smart Client with Enterprise Library 4'>Using Smart Client with Enterprise Library 4</a></li>
<li><a href='http://www.ganshani.com/2009/06/30/interface-vs-object-vs-aspect-oriented-programming/' rel='bookmark' title='Permanent Link: Interface vs Object vs Aspect Oriented Programming'>Interface vs Object vs Aspect Oriented Programming</a></li>
</ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.ganshani.com/2008/04/29/regex-to-match-c-java-vbnet-comments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Validation</title>
		<link>http://www.ganshani.com/2008/04/23/validation/</link>
		<comments>http://www.ganshani.com/2008/04/23/validation/#comments</comments>
		<pubDate>Wed, 23 Apr 2008 14:38:01 +0000</pubDate>
		<dc:creator>Punit Ganshani</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Microsoft .NET]]></category>

		<guid isPermaLink="false">http://www.ganshani.com/?p=68</guid>
		<description><![CDATA[
			
				
			
		
Let&#8217;s today understand Data Validation
The first principle:  Assume no data to be valid.
Second principle  :  The rigidness of your rules will testify the validness of the data.
First, decide the parameters that you need to weigh your inputs on:
1. Range of Value
2. Value precision
3. Format
4. Length
5. Type
Third principle:   Decide your strategy [...]


<h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/04/21/ajax-what-not-to-do/' rel='bookmark' title='Permanent Link: Ajax &#8211; what not to do!'>Ajax &#8211; what not to do!</a></li>
<li><a href='http://www.ganshani.com/2008/12/07/net-40-unleashed/' rel='bookmark' title='Permanent Link: .NET 4.0 Unleashed'>.NET 4.0 Unleashed</a></li>
<li><a href='http://www.ganshani.com/2009/03/10/aspnet-best-practices/' rel='bookmark' title='Permanent Link: ASP.NET Best Practices'>ASP.NET Best Practices</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ganshani.com%2F2008%2F04%2F23%2Fvalidation%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ganshani.com%2F2008%2F04%2F23%2Fvalidation%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Let&#8217;s today understand Data Validation</p>
<p>The first principle:  Assume no data to be valid.<br />
Second principle  :  The rigidness of your rules will testify the validness of the data.</p>
<p>First, decide the parameters that you need to weigh your inputs on:</p>
<p>1. Range of Value<br />
2. Value precision<br />
3. Format<br />
4. Length<br />
5. Type</p>
<p>Third principle:   Decide your strategy and follow it.</p>
<p>Now there are two philosophies in validating the data:<br />
1. Negative test cases i.e. all those values for which validation test should fail.<br />
2. Positive test cases i.e. all those values for which validation test should pass.  (I recommend this <img src='http://www.ganshani.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
<p><strong>Some key points to keep in mind:</strong></p>
<p>1. Strong-data-typing:  Numbers should be stored in Integer, Double, Float or a relevant data type rather than storing in a Generic data type.  This besides validating the data, also enhances the performance (read memory allocation).</p>
<p>2. Not just client side validation:  Validating at client side (using JavaScript/VbScript) is not just sufficient.  Use appropriate server-side validations.  However, this does not mean not validating at client side &#8211; it helps reducing server-side round trips.</p>
<p>3. Free-text Fields:  Multiline fields (or free-text fields) should be checked before storing.  They may contain some unwanted code like C# snippet, or a SQL query itself.  Test it against SQL Injection.  Also in ASP.NET applications, make sure that HTML inputs do not crash the application.  An input like &lt;i&gt; may do disasters.  Prefer to HTML encode data before processing it.</p>
<p>        1. In the page directive, add ValidateRequest = &#8220;false&#8221;<br />
        2. Encode using HtmlEncode<br />
        3. Use RegEx to remove Html Content</p>
<p>4. Upload/Download Paths:  While making a Chat Engine (using WCF &amp; WPF) that uses username/password and photograph of a user to log in, you may take path of the photograph placed on his machine.  While someone wants to view it, it may not be accessible (since its on a network).  Make sure a correct strategy is used and paths are validated before processing.</p>
<p>5. Special Characters in WebServices:  WebServices do not allow special characters (like heart, diamonds) to be passed through the wire even when stored inside a string.  Make sure that they are converted into Binary/Hex or other format before transmitting.</p>
<p>6. URLs:  Urls/Cookies/QueryStrings should not be without encoding.  Validation needs to be done for length, range, format and types.</p>


<p><h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2008/04/21/ajax-what-not-to-do/' rel='bookmark' title='Permanent Link: Ajax &#8211; what not to do!'>Ajax &#8211; what not to do!</a></li>
<li><a href='http://www.ganshani.com/2008/12/07/net-40-unleashed/' rel='bookmark' title='Permanent Link: .NET 4.0 Unleashed'>.NET 4.0 Unleashed</a></li>
<li><a href='http://www.ganshani.com/2009/03/10/aspnet-best-practices/' rel='bookmark' title='Permanent Link: ASP.NET Best Practices'>ASP.NET Best Practices</a></li>
</ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.ganshani.com/2008/04/23/validation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Only Numbers in TextBox</title>
		<link>http://www.ganshani.com/2008/04/10/only-numbers-in-textbox/</link>
		<comments>http://www.ganshani.com/2008/04/10/only-numbers-in-textbox/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 16:06:11 +0000</pubDate>
		<dc:creator>Punit Ganshani</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Microsoft .NET]]></category>
		<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://www.ganshani.com/2008/04/10/only-numbers-in-textbox/</guid>
		<description><![CDATA[
			
				
			
		
Requirement: TextBox in C# should accept only numbers as input.
Solution:
Raise an event KeyPress and paste following line of code.
private void txtInput_KeyPress(object sender, KeyPressEventArgs e)
{
              if (!Char.IsNumber(e.KeyChar))
                 [...]


<h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2009/06/30/interface-vs-object-vs-aspect-oriented-programming/' rel='bookmark' title='Permanent Link: Interface vs Object vs Aspect Oriented Programming'>Interface vs Object vs Aspect Oriented Programming</a></li>
<li><a href='http://www.ganshani.com/2008/09/02/vs-2008-plugin-pop-up-issue/' rel='bookmark' title='Permanent Link: VS 2008 : Plugin Pop-up issue'>VS 2008 : Plugin Pop-up issue</a></li>
<li><a href='http://www.ganshani.com/2008/11/29/using-smart-client-with-enterprise-library-4/' rel='bookmark' title='Permanent Link: Using Smart Client with Enterprise Library 4'>Using Smart Client with Enterprise Library 4</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ganshani.com%2F2008%2F04%2F10%2Fonly-numbers-in-textbox%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ganshani.com%2F2008%2F04%2F10%2Fonly-numbers-in-textbox%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Requirement: TextBox in C# should accept only <strong>numbers </strong>as input.</p>
<p>Solution:</p>
<p>Raise an event KeyPress and paste following line of code.</p>
<p>private void txtInput_KeyPress(object sender, KeyPressEventArgs e)<br />
{<br />
              if (!Char.IsNumber(e.KeyChar))<br />
                       e.Handled = true;<br />
}</p>
<p>Here, e stands for the arguments of the function and e contains several attributes and methods like:</p>
<p>e.KeyChar : Character that has been pressed<br />
e.Handled  : Whether it is an acceptable character or not.</p>


<p><h2>Related posts:</h2><ul><li><a href='http://www.ganshani.com/2009/06/30/interface-vs-object-vs-aspect-oriented-programming/' rel='bookmark' title='Permanent Link: Interface vs Object vs Aspect Oriented Programming'>Interface vs Object vs Aspect Oriented Programming</a></li>
<li><a href='http://www.ganshani.com/2008/09/02/vs-2008-plugin-pop-up-issue/' rel='bookmark' title='Permanent Link: VS 2008 : Plugin Pop-up issue'>VS 2008 : Plugin Pop-up issue</a></li>
<li><a href='http://www.ganshani.com/2008/11/29/using-smart-client-with-enterprise-library-4/' rel='bookmark' title='Permanent Link: Using Smart Client with Enterprise Library 4'>Using Smart Client with Enterprise Library 4</a></li>
</ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.ganshani.com/2008/04/10/only-numbers-in-textbox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
