<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>A Place for C Sharpers/.Netters</title>
	<atom:link href="http://kiranpatils.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kiranpatils.wordpress.com</link>
	<description>I Will do coding till last moment of life-Kiran Patil</description>
	<lastBuildDate>Sun, 01 Jan 2012 06:59:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='kiranpatils.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>A Place for C Sharpers/.Netters</title>
		<link>http://kiranpatils.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://kiranpatils.wordpress.com/osd.xml" title="A Place for C Sharpers/.Netters" />
	<atom:link rel='hub' href='http://kiranpatils.wordpress.com/?pushpress=hub'/>
		<item>
		<title>2011 in review</title>
		<link>http://kiranpatils.wordpress.com/2012/01/01/2011-in-review/</link>
		<comments>http://kiranpatils.wordpress.com/2012/01/01/2011-in-review/#comments</comments>
		<pubDate>Sun, 01 Jan 2012 06:59:45 +0000</pubDate>
		<dc:creator>kiranpatils</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://kiranpatils.wordpress.com/?p=774</guid>
		<description><![CDATA[Hello Readers, 2011 has been a good and busy year (But frankly It&#8217;s good to be busy, in the work which you are passionate about!). In whole year my focus was on learning and exploring new technology &#8212; Which is Sitecore and was mostly wrote blog about Sitecore only. You can read them at my [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kiranpatils.wordpress.com&amp;blog=2255758&amp;post=774&amp;subd=kiranpatils&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hello Readers,</p>
<p>2011 has been a good and busy year (But frankly It&#8217;s good to be busy, in the work which you are passionate about!). In whole year my focus was on learning and exploring new technology &#8212; Which is Sitecore and was mostly wrote blog about Sitecore only. You can read them at my <a href="http://sitecorebasics.wordpress.com" target="_blank">Sitecore blog</a>. And due to that there were just <strong>14</strong> new posts.</p>
<p>The WordPress.com stats helper monkeys prepared a 2011 annual report:</p>
<div style="background:url('/wp-content/mu-plugins/annual-reports/img/emailteaser.jpg') no-repeat center center;height:300px;"></div>
<p>Here&#8217;s an excerpt:</p>
<blockquote><p>Madison Square Garden can seat 20,000 people for a concert. This blog was viewed about <strong>66,000</strong> times in 2011. If it were a concert at Madison Square Garden, it would take about 3 sold-out performances for that many people to see it.</p></blockquote>
<p>Quick facts:</p>
<ul>
<li>Most visitors came from The United States. India &amp; The United Kingdom were not far behind.</li>
<li>In 2011, there were <strong>14</strong> new posts, growing the total archive of this blog to 139 posts.</li>
<li>The busiest day of the year was June 22nd with <strong>315</strong> views. The most popular post that day was <a id="busiest-post" href="../2009/08/13/there-is-no-script-engine-for-file-extension-vbs/" target="_blank">There is no script engine for file extension &#8220;.vbs&#8221;</a>.</li>
<li>Most visitors came from The United States. India &amp; The United Kingdom were not far behind.</li>
<li>The most commented on post in 2011 was <a href="../2011/02/22/crickoholic-cricket-match-score-update/" target="_blank">CrickoHolic : Cricket Match Score Updater</a></li>
</ul>
<p><a href="/2011/annual-report/">Click here to see the complete report.</a></p>
<h2 id="h_see_you_2012">See you in 2012</h2>
<p>Thanks for your support, visits and flying with us in 2011!<br />
We look forward to serving you again in 2012! Happy New Year!</p>
<p>Happy Coding and Happy Reading! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kiranpatils.wordpress.com/774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kiranpatils.wordpress.com/774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kiranpatils.wordpress.com/774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kiranpatils.wordpress.com/774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kiranpatils.wordpress.com/774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kiranpatils.wordpress.com/774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kiranpatils.wordpress.com/774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kiranpatils.wordpress.com/774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kiranpatils.wordpress.com/774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kiranpatils.wordpress.com/774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kiranpatils.wordpress.com/774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kiranpatils.wordpress.com/774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kiranpatils.wordpress.com/774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kiranpatils.wordpress.com/774/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kiranpatils.wordpress.com&amp;blog=2255758&amp;post=774&amp;subd=kiranpatils&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kiranpatils.wordpress.com/2012/01/01/2011-in-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ff64a6ee0fb6ddd0abfb2d5560a6bc2c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kiran Patil</media:title>
		</media:content>
	</item>
		<item>
		<title>Visual Studio 2010 with TortoiseSVN and AnkhSVN</title>
		<link>http://kiranpatils.wordpress.com/2011/11/07/visual-studio-2010-with-tortoisesvn-and-ankhsvn/</link>
		<comments>http://kiranpatils.wordpress.com/2011/11/07/visual-studio-2010-with-tortoisesvn-and-ankhsvn/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 11:49:34 +0000</pubDate>
		<dc:creator>kiranpatils</dc:creator>
				<category><![CDATA[VS 2010]]></category>

		<guid isPermaLink="false">http://kiranpatils.wordpress.com/?p=761</guid>
		<description><![CDATA[Challenge: Before couple of weeks, We switched from VS 2008 to VS 2010 and during that project the most time-consuming thing was deciding which TortoiseSVN and AnkhSVN version to use? If you are also using TortoiseSVN and AnkhSVN with VS 2008 and planing to migrate over VS 2010 and not sure which TortoiseSVN and AnkhSVN [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kiranpatils.wordpress.com&amp;blog=2255758&amp;post=761&amp;subd=kiranpatils&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>Challenge:</h3>
<p>Before couple of weeks, We switched from VS 2008 to VS 2010 and during that project the most time-consuming thing was deciding which TortoiseSVN and AnkhSVN version to use?</p>
<p>If you are also using TortoiseSVN and AnkhSVN with VS 2008 and planing to migrate over VS 2010 and not sure which TortoiseSVN and AnkhSVN Version to use? Then this post is for you!</p>
<h3>Solution:</h3>
<p>Below are the version which we finalized to use with VS 2010:</p>
<ul>
<li><strong>TortoiseSVN</strong> – Required version is <strong>TortoiseSVN-1.6.16.21511-win32-svn-1.6.17.msi</strong> (You can download it from <a href="http://sourceforge.net/projects/tortoisesvn/" target="_blank">here</a>) [<em>If you are using 64 bit, then please use 64 bit one!</em>]</li>
<li><strong>AnkhSVN </strong> – Required version is <strong>AnkhSvn-2.1.10129.msi</strong> (You can download it from <a href="http://ankhsvn.open.collab.net/files/documents/175/4408/AnkhSvn-2.1.10129.msi" target="_blank">here</a>)</li>
</ul>
<p>Also, once you have installed it, you need to tell VS 2010 that your primary source control will be SVN and not TFS [By default it is TFS - and it's obvious! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ]. How to do it? Steps are as below:</p>
<p>1. Open your VS 2010 Instance.</p>
<p>2. Go to Tools Menu and Select Options&#8230;</p>
<p>3. And do following settings:</p>
<p><a href="http://kiranpatils.files.wordpress.com/2011/11/vs2010-sourcecontrol.png"><img class="alignnone size-full wp-image-764" title="VS2010-SourceControl" src="http://kiranpatils.files.wordpress.com/2011/11/vs2010-sourcecontrol.png" alt="" width="757" height="440" /></a></p>
<p>That&#8217;s it!</p>
<p>Enjoy using VS 2010! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kiranpatils.wordpress.com/761/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kiranpatils.wordpress.com/761/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kiranpatils.wordpress.com/761/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kiranpatils.wordpress.com/761/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kiranpatils.wordpress.com/761/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kiranpatils.wordpress.com/761/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kiranpatils.wordpress.com/761/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kiranpatils.wordpress.com/761/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kiranpatils.wordpress.com/761/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kiranpatils.wordpress.com/761/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kiranpatils.wordpress.com/761/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kiranpatils.wordpress.com/761/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kiranpatils.wordpress.com/761/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kiranpatils.wordpress.com/761/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kiranpatils.wordpress.com&amp;blog=2255758&amp;post=761&amp;subd=kiranpatils&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kiranpatils.wordpress.com/2011/11/07/visual-studio-2010-with-tortoisesvn-and-ankhsvn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ff64a6ee0fb6ddd0abfb2d5560a6bc2c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kiran Patil</media:title>
		</media:content>

		<media:content url="http://kiranpatils.files.wordpress.com/2011/11/vs2010-sourcecontrol.png" medium="image">
			<media:title type="html">VS2010-SourceControl</media:title>
		</media:content>
	</item>
		<item>
		<title>WCF Behavioral Contracts and Message Exchange Patterns</title>
		<link>http://kiranpatils.wordpress.com/2011/10/16/wcf-behavioral-contracts-and-message-exchange-patterns/</link>
		<comments>http://kiranpatils.wordpress.com/2011/10/16/wcf-behavioral-contracts-and-message-exchange-patterns/#comments</comments>
		<pubDate>Sun, 16 Oct 2011 12:49:56 +0000</pubDate>
		<dc:creator>kiranpatils</dc:creator>
				<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">http://kiranpatils.wordpress.com/?p=744</guid>
		<description><![CDATA[Challenge: Architect was busy on other tasks, So, he was not able to share his WCF knowledge with you since last few days. He apologize for this! Architect&#8217;s team liked his WCF Fundamentals notes and they requested him to share his all notes whatever he has related to WCF! So, here&#8217;s the 3rd part (1st [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kiranpatils.wordpress.com&amp;blog=2255758&amp;post=744&amp;subd=kiranpatils&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>Challenge:</h3>
<p>Architect was busy on other tasks, So, he was not able to share his WCF knowledge with you since last few days. He apologize for this!</p>
<p>Architect&#8217;s team liked his <a title="WCF Fundamentals and Quick start" href="http://kiranpatils.wordpress.com/2011/10/01/wcf-fundamentals-and-quick-start/">WCF Fundamentals</a> notes and they requested him to share his all notes whatever he has related to WCF!</p>
<p>So, here&#8217;s the 3rd part (<a title="Why we need Windows Communication Foundation?" href="http://kiranpatils.wordpress.com/2011/09/29/why-we-need-windows-communication-foundation/">1st part</a>, <a title="WCF Fundamentals and Quick start" href="http://kiranpatils.wordpress.com/2011/10/01/wcf-fundamentals-and-quick-start/">2nd part</a>) of WCF Story where our architect would like to share his WCF Behavioral Contracts and Message Exchange Patterns with you!</p>
<p><a href="http://kiranpatils.files.wordpress.com/2011/10/wcf_contracts-1.png"><img class="alignnone size-full wp-image-745" title="WCF_Contracts-1" src="http://kiranpatils.files.wordpress.com/2011/10/wcf_contracts-1.png" alt="" width="254" height="418" /></a></p>
<h3>Solution:</h3>
<p>Here&#8217;s the discussion between Architect and his team!</p>
<p><strong>Contracts</strong></p>
<p>Contract defines:</p>
<ul>
<li>What service operations you are going to get?</li>
<li>How to format the messages you send to a given service.?</li>
<li>What will it do when it receives the messages?</li>
<li>What kind of response message you should expect in return, or if something goes wrong, what kind of fault does the service issue?</li>
</ul>
<p>WCF Structures an overall contract by with its consumers by defining the following three core contracts:</p>
<ul>
<li><strong>Service Contract</strong> :- Defines which operations the service makes available to be invoked as request messages are sent to the service from the client.</li>
<li><strong>Data Contract</strong> :- Defines the structure of the data included in the payloads of the messages flowing in and out of the service.</li>
<li><strong>Message Contract</strong> :- Enables you to control the headers that appear in the messages and how the messages are structured.</li>
</ul>
<p>Categorically there are two types of contracts:</p>
<p>1. Behavioral Contracts</p>
<p>2. Structural Contracts</p>
<p>Today we are going to delve in to first category &#8212; Behavioral contract</p>
<p><strong>Behavioral Contracts</strong></p>
<ul>
<li>Tools to start defining WCF services.</li>
<li>It helps you to define how your service will behave (and in OOPs term we define class&#8217;s behavior using methods]</li>
</ul>
<p>It focused on .NET attributes you need from <strong>System.ServiceModel</strong> namespace to specify the behavioral aspects of your WCF Service:</p>
<ul>
<li>How the service behaves and what operations it exposes.</li>
<li>When the service might issue faults and what kind of faults it might issue.</li>
<li>What are the MEPs required to interact with the service? – Operation is request/response way, one way or duplex.</li>
</ul>
<p>Basically there are 3 types of Behavioral contracts:</p>
<ol>
<li>ServiceContractAttribute</li>
<li>OperationContractAttribute</li>
<li>Fault Contracts</li>
</ol>
<p>Let&#8217;s discuss them one by one.</p>
<p><strong>ServiceContractAttribute</strong><br />
Service contract describes the operation that service provide. A Service can have more than one service contract but it should have at least one Service contract.</p>
<ul>
<li>It describes the client-callable operations (functions) exposed by the service</li>
<li>It maps the interface and methods of your service to a platform-independent description</li>
<li>It describes message exchange patterns that the service can have with another party. Some service operations might be one-way; others might require a request-reply pattern</li>
<li>It is analogous to the element in WSDL</li>
</ul>
<p>To create a service contract you define an interface with related methods representative of a collection of service operations, and then decorate the interface with the <strong>ServiceContract Attribute</strong> to indicate it is a service contract.</p>
<p>Named parameter options:</p>
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<col width="216" />
<col width="584" />
<tbody>
<tr>
<td width="216" height="18">Named Parameter</td>
<td width="584">Description</td>
</tr>
<tr>
<td width="216" height="25">Name</td>
<td width="584">
<div>•Specifies a different for the contract instead of the default,</div>
<div>which is simply the interface or class type name. This contract name will</div>
<div>appear in WSDL.</div>
</td>
</tr>
<tr>
<td width="216" height="36">Namespace</td>
<td width="584">
<div>•Specifies a target namespace in the WSDL for the service.</div>
<div>The default namespace is http://tempuri.org . It’s really good practice to provide</div>
<div>Namespace.</div>
</td>
</tr>
</tbody>
</table>
<p><em>Just a note : Please note that there are other named parameters as well. But it has been omitted intentionally to make things simple.</em></p>
<p><pre class="brush: csharp;">
[ServiceContract(Name=&quot;CalculatorService&quot;,
Namespace=&quot;http://schemas.demo.com/2011/10/calc/&quot;)]
public interface ICalculator
{
[OperationContract]
double Add(double number1, double number2);
}
</pre></p>
<p>TIP:</p>
<ol>
<li>Always use Namespace property to provide a URI that in some way uniquely identifies both your organization and the conceptual or business domain in which the service operates. W3C standard – year and month to differentiate versions of your service.</li>
<li>Good practice to use the Name property to remove the leading I because I is more of a .NET idiom.</li>
</ol>
<p><strong>OperationContractAttribute</strong></p>
<ul>
<li>Can be applied only to methods<br />
Used to declare the method belonging to a Service contract.</li>
</ul>
<p>Named parameter options:</p>
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<col width="216" />
<col width="584" />
<tbody>
<tr>
<td width="216" height="18">Named Parameter</td>
<td width="584">Description</td>
</tr>
<tr>
<td width="216" height="25">Name</td>
<td width="584">
<div>•Specifies a different name for the operation instead of using the default</div>
<div>which is the method name.</div>
</td>
</tr>
<tr>
<td width="216" height="36">IsOneWay</td>
<td width="584">
<div>•Indicates whether the operation is one-way and has no reply.</div>
</td>
</tr>
</tbody>
</table>
<p><em>Just a note : Please note that there are other named parameters as well. But it has been omitted intentionally to make things simple.</em></p>
<p><pre class="brush: csharp;">
[ServiceContract(Name=&quot;CalculatorService&quot;,
Namespace=&quot;http://schemas.demo.com/2011/10/calc/&quot;)]
public interface ICalculator
{
[OperationContract(Name=“AddMethod&quot;,
IsOneWay=true)]]
double Add(double number1, double number2);
}
</pre></p>
<p><strong>Fault Contracts</strong></p>
<ul>
<li>When something goes wrong – what to do? (When service issues some faults then what type of information should be issued)</li>
<li><strong>Faults (SOAP Faults) Vs. Exceptions (Exceptions)</strong> : Faults and exceptions are not the same thing. Exceptions, as referred to here, are a .NET mechanism used to communicate problems encountered as a program executes. The .NET Lang. allows you to throw, catch/handle, and possibly ignore exceptions so that they can be further propagated up the call stack. At the same point they should be handled else .NET runtime will terminate that thread.<br />
Fault, refer to the SOAP fault mechanism for transferring error or fault conditions from a service. The SOAP specification includes definition for SOAP Faults. Issue faults in a standard way.</li>
<li><strong>WCF FaultException Class</strong> :- Provides standard mechanism for translating between two world of .NET Exceptions and SOAP Faults – WCF serialized your exception in SOAP Fault.</li>
<li><strong>FaultContractAttribute</strong> :- enables a service developer to declare which faults a given service might issue if things go wrong. It can be applied to operations only and also more than once if needed.</li>
</ul>
<p><pre class="brush: csharp;">
// Service Contract
[OperationContract]
[FaultContract(typeof(string))]
double Divide(double numerator, double denominator);

// Service Implementation
public double Divide(double numerator, double denominator)
{
if (denominator == 0.0d)
{
string faultDetail = &quot;cannot divide by zero&quot;;
throw new FaultException(faultDetail);
}
return numerator / denominator;
}

</pre></p>
<p><strong>Message Exchange Patterns (MEP)</strong></p>
<p>MEPs describe the protocol of message exchanges a consumer must engage in to converse properly with the service. For instance, if a consumer sends a message, it needs to know whether it should expect a message back or whether simply sending the request is enough. Further, can the consumer expect unsolicited messages back from the service? WCF supports<br />
the following three MEPs:</p>
<p>1. One-way</p>
<p><a href="http://kiranpatils.files.wordpress.com/2011/10/one-way-operation.jpg"><img class="aligncenter" title="One-way-Operation" src="http://kiranpatils.files.wordpress.com/2011/10/one-way-operation.jpg?w=565&#038;h=173" alt="" width="565" height="173" /></a></p>
<ul>
<li>One-way operation can be enabled by setting IsOneWay property to true in Operation contract attribute.</li>
<li>It can’t be used in conjunction with Fault Contract – Because it needs two-way channel.  Also, One way is not really one way!</li>
</ul>
<p>In One-Way operation mode, client will send a request to the server and does not care whether it is success or failure of service execution. There is no return from the server-side, it is one-way communication.<br />
Client will be blocked only for a moment till it dispatches its call to service. If any exception thrown by service will not reach the server.<br />
Client can continue to execute its statement, after making one-way call to server. There is no need to wait, till server execute. Sometime when one-way calls reach the service, they may not be dispatched all at once but may instead be queued up on the service side to be dispatched one at a time, according to the service&#8217;s configured concurrency mode behavior. If the number of queued messages has exceeded the queue&#8217;s capacity, the client will be blocked even if it&#8217;s issued a one-way call. However, once the call is queued, the client will be unblocked and can continue executing, while the service processes the operation in the background.</p>
<p><pre class="brush: csharp;">
[ServiceContract(Name = &quot;PizzaService&quot;,
Namespace = &quot;http://schemas.demo.com/2011/10/pizza/&quot;)]
public interface IPizzaService
{
[OperationContract(IsOneWay = true)]
void CancelPizza(int pizzaOrderNumber);
}

</pre></p>
<p>2. Request / Response [<strong>Default Message exchange pattern</strong>]</p>
<p><a href="http://kiranpatils.files.wordpress.com/2011/10/request-reply-operation.jpg"><img class="alignnone size-full wp-image-754" title="Request-Reply-operation" src="http://kiranpatils.files.wordpress.com/2011/10/request-reply-operation.jpg" alt="" width="565" height="173" /></a></p>
<p>By default all WCF will be operated in the Request-Response [IsOneWay property of OperationContractAttribute is false) mode. It means that, when client make a request to the WCF service and client will wait to get response from service (till receiveTimeout). After getting the response it will start executing the rest of the statement. If service doesn&#8217;t respond to the service within receiveTimeout, client will receive TimeOutException</p>
<p>Void method doesn’t mean OneWay. It can use Request/Response and it’s really good practice to use it because this MEP allows to receive faults.</p>
<p>3. Duplex</p>
<p>Duplex MEP is a two-way message channel whose usage might be applicable in following situation:</p>
<ul>
<li>Consumer sends a message to the service to initiate longer-running processing and then subsequently requires notification back from the service, confirming the requested processing has been done.</li>
</ul>
<p>Duplex MEP has following issues:</p>
<ul>
<li>it’s problematic in real world because a service needs connection back to the client – Firewalls and NAT problems.</li>
<li>Not Scalable. – We want stateless.</li>
<li>You lose interoperability. Because to implement Duplex MEP we need to use Callback method in WCF. But what if client is JAVA – which doesn&#8217;t supports callback methods.</li>
<li>Threading problems.</li>
</ul>
<p>In Short Duplex is Complex! – Avoid using it. Use it if you really need it! – Okay, then how to deal with above given situation without Duplex?</p>
<p>Stay tuned for next story! (Just a note : If you would like to get email update whenever new story get posted, please do subscribe using subscription form — given right side)</p>
<p>Happy WCF Programming! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kiranpatils.wordpress.com/744/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kiranpatils.wordpress.com/744/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kiranpatils.wordpress.com/744/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kiranpatils.wordpress.com/744/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kiranpatils.wordpress.com/744/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kiranpatils.wordpress.com/744/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kiranpatils.wordpress.com/744/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kiranpatils.wordpress.com/744/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kiranpatils.wordpress.com/744/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kiranpatils.wordpress.com/744/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kiranpatils.wordpress.com/744/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kiranpatils.wordpress.com/744/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kiranpatils.wordpress.com/744/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kiranpatils.wordpress.com/744/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kiranpatils.wordpress.com&amp;blog=2255758&amp;post=744&amp;subd=kiranpatils&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kiranpatils.wordpress.com/2011/10/16/wcf-behavioral-contracts-and-message-exchange-patterns/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ff64a6ee0fb6ddd0abfb2d5560a6bc2c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kiran Patil</media:title>
		</media:content>

		<media:content url="http://kiranpatils.files.wordpress.com/2011/10/wcf_contracts-1.png" medium="image">
			<media:title type="html">WCF_Contracts-1</media:title>
		</media:content>

		<media:content url="http://kiranpatils.files.wordpress.com/2011/10/one-way-operation.jpg" medium="image">
			<media:title type="html">One-way-Operation</media:title>
		</media:content>

		<media:content url="http://kiranpatils.files.wordpress.com/2011/10/request-reply-operation.jpg" medium="image">
			<media:title type="html">Request-Reply-operation</media:title>
		</media:content>
	</item>
		<item>
		<title>WCF Fundamentals and Quick start</title>
		<link>http://kiranpatils.wordpress.com/2011/10/01/wcf-fundamentals-and-quick-start/</link>
		<comments>http://kiranpatils.wordpress.com/2011/10/01/wcf-fundamentals-and-quick-start/#comments</comments>
		<pubDate>Sat, 01 Oct 2011 06:41:41 +0000</pubDate>
		<dc:creator>kiranpatils</dc:creator>
				<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">http://kiranpatils.wordpress.com/?p=730</guid>
		<description><![CDATA[Challenge: After receiving lot of appreciation and positive comments on my first WCF article Why we need Windows Communication Foundation? and suggestion from Manaday (Which was going back of my mind. But somehow I was not bringing it in implementation), Henceforth I am going to post full WCF Series based on last fictional story. So, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kiranpatils.wordpress.com&amp;blog=2255758&amp;post=730&amp;subd=kiranpatils&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>Challenge:</h3>
<p>After receiving lot of appreciation and positive comments on my first WCF article <a title="Why we need Windows Communication Foundation?" href="http://kiranpatils.wordpress.com/2011/09/29/why-we-need-windows-communication-foundation/">Why we need Windows Communication Foundation?</a> and suggestion from <strong>Manaday</strong> (Which was going back of my mind. But somehow I was not bringing it in implementation), Henceforth I am going to post full WCF Series based on last fictional story.</p>
<p>So, here&#8217;s the 2nd part of WCF Story where our architect would like to share his WCF Fundamentals with you!</p>
<p><a href="http://kiranpatils.files.wordpress.com/2011/10/wcf_fundamentals-story.png"><img class="alignnone size-full wp-image-731" title="WCF_Fundamentals-story" src="http://kiranpatils.files.wordpress.com/2011/10/wcf_fundamentals-story.png" alt="" width="256" height="448" /></a></p>
<h3>Solution:</h3>
<p>Architect was kind enough to share his WCF Fundamental notes what he created for his team with you! [We should be thankful to him <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ]</p>
<p>WCF provides API for creating systems that send messages between clients and services. Which can be sent either Intranet or Internet over TCP,HTTP,MSMQ, Web Services etc. Also it’s Interoperable!</p>
<h4>Following are most of the concepts and terms used in WCF:</h4>
<ul>
<li><strong>Message</strong>: Self-contained packets of data that may consist of several parts including header and body. All parts of a message can be encrypted and digitally signed except for the header which must be in clear text.</li>
<li><strong>Service</strong>: A software module (EXE or DLL) that provides 1 to n endpoints with each endpoint providing 1 to n service operations.</li>
<li><strong>Endpoint</strong>: A single interface that is used to establish communications between clients and hosts. Each endpoint has its own address that is appended to the base address of the service, making it a unique entity. A WCF service is a collection of endpoints.</li>
<li><strong>Binding</strong>: A set of properties that define how an endpoint communicates with the outside world. At the very least, the binding defines the transport (HTTP or TCP) that is necessary to communicate with the endpoint. A binding may also specify other details such as security or the message pattern used by the endpoint.</li>
<li><strong>System-provided bindings</strong>: A collection of bindings that are optimized for certain scenarios. For example, WSHttpBinding is designed for interoperability with Web Services that implement various WS-* specifications.</li>
<li><strong>Service Contract</strong>: The contract defines the name of the service, its namespace, and other global attributes. In practice, a contract is defined by creating an interface (interface in C#) and applying the [ServiceContract] attribute. The actual service code is the class that implements this interface.</li>
<li><strong>Operation Contract</strong>: Given that a service contract is defined by creating an interface and annotating it with [ServiceContract], an operation contract is a member method of that interface that defines the return type and parameters of an operation. Such an interface method must be annotated with [OperationContract].</li>
<li><strong>Data Contract</strong>: Data types used by a service must be described in metadata to enable clients to interoperate with the service. The descriptions of the data types are known as data contracts and the types may be used in any message (parameters or return types).</li>
<li><strong>Service operation</strong>: A method that is implemented and exposed by a service for consumption by any client. If a service contract is defined by creating an interface, then a service operation is the class that implements this interface.The method may or may not return a value, and may or may not take any arguments. Note while a method invocation might appear as a single operation on the client, it can result in sending multiple messages to the service. For example, a method with two arguments called on a WCF client results in two messages sent to the service.</li>
<li><strong>Host</strong>: A host is an application (typically .exe) that is used to control the lifetime of a service. A host can be a console, a Windows Service, a Window Activation Service (WAS) and Internet Information Service (IIS) among others. For IIS, you can set a virtual directory that contains the service assemblies and configuration file. When a message is received, IIS starts the service and control its lifetime. When a client (or clients) end(s) the session, IIS closes the application and releases it resources.</li>
<li><strong>Behavior</strong>: A behavior is a type (i.e., class) that augments the runtime functionality of a service. Service behaviors are enabled by applying a [ServiceBehavior] attribute to a service class and setting properties to enable various behaviors.Behaviors are used to control various runtime aspects of a service or endpoint. Behaviors are grouped according to scope: Common behaviors affect all endpoints, service behaviors affect only service-related aspects, and endpoint behaviors affect only endpoint-related properties. For example, an endpoint behavior may specify where and how to find a security credential.</li>
<li><strong>Instancing</strong>: A service has an instancing model which controls how many instances of the service can run at one time. There are four instancing models: single, per call, per session, and shareable. The first two are similar in concepts to the Singleton and Single Call SAOs in .NET Remoting. Instancing is a behavior and and as such it is specified as part of the [ServiceBehavior] attribute as follows: [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)].</li>
<li><strong>Client Application</strong>: A program that exchanges messages with one or more endpoints. The client application typically creates a WCF Client Object and then calling methods on this proxy object.</li>
<li><strong>Channel</strong>: This is the transport connection between a client application and an endpoint in a service. A client uses a transport (TCP, HTTP, etc.) and an address to construct a channel to a specific endpoint.</li>
<li><strong>WCF Client Object</strong>: This a client-side construct that encapsulates service operations as methods, in other words, a WCF Client Object is a proxy to the service methods. Note that any application can host a WCF Client Object, even an application hosting a service. Therefore, it is possible to create a service that includes and uses proxies to other services. These proxies are typically generated using the svcutil.exe command-line utility.</li>
<li><strong>Metadata</strong>: data that is generated by the svcutil.exe command-line utility. This data includes:</li>
</ul>
<ol>
<li style="text-align:left;">XML schema that define the data contract of the service.</li>
<li style="text-align:left;">WSDL to describe the methods of the service.</li>
<li style="text-align:left;">Application configuration files.</li>
</ol>
<ul>
<li><strong>Metadata exchange point</strong>: An endpoint with its own address that is used to publish metadata.</li>
<li><strong>Security</strong>: Security in WCF includes encryption of messages, integrity of messages, authentication and authorization. These functions can be provided by either using existing security mechanisms such as HTTPS or by implementing one or more of the various WS-* security specifications.</li>
<li><strong>Message pattern</strong>: The message pattern determines the relationship and direction of messages between the client and the service. The most basic pattern is the one-shot (or one way) pattern is which a message is sent to the server but not response is expected. The most complex pattern is a dual HTTP pattern where two HTTP channels are constructed between a client and a service, with both sides invoking operations on each other.</li>
<li><strong>Reliable messaging</strong>: The assurance that a message is received only once and in the order in which it was sent.</li>
<li><strong>Sessions</strong>: A session is used to establish communication between a client and a service in which all messages are tagged with an ID that identifies the sessions. If a session is interrupted, it can be restarted with the session ID. If a service contract supports a session, then you will need to use Instancing to determine how the class that implements the service contract behaves during the session. See the Duplex Message Pattern example in Designing Contracts chapter.</li>
</ul>
<h4>Basic WCF Programming Lifecycle</h4>
<p>Here are the basic steps of WCF Programming Lifecycle – Order matters!</p>
<ol>
<li>Define the service contract. A service contract specifies the signature of a service, the data it exchanges, and other contractually required data.</li>
<li>Implement the contract. To implement a service contract, create the class that implements the contract and specify custom behaviors that the runtime should have.</li>
<li>Configure the service by specifying endpoint information and other behavior information.</li>
<li>Host the service in an application.</li>
<li>Build a client application.</li>
</ol>
<blockquote><p>Just a note : Although the topics in this section follow this order, some scenarios do not start at the beginning. For example, if you want to build a client for a pre-existing service, you start at step 5. Or if you are building a service that others will use, you may skip step 5.</p></blockquote>
<h4>WCF Quick start</h4>
<p>Following steps will help you to create your first WCF service (In this example we are going to create two console applications one console application will be hosting the service and second one will be consuming the service):</p>
<p><strong>Step 1 : Define a Windows Communication Foundation Service Contract</strong> : When creating a basic WCF service, the first task is to create the contract for the service that is shared with the outside world that describes how to communicate with the service. This contract specifies the collection and structure of messages required to access the operations offered by the service. This is done by creating an interface that defines the input and output types, which apply the ServiceContractAttribute to the interface and OperationContractAttribute to the methods that you want to expose.</p>
<blockquote><p><strong>NOTE : We need to add reference to System.ServiceModel</strong></p></blockquote>
<p>The service contract that is used here employees a request-reply message exchange pattern by default that is not explicitly specified. You can specify this and other message exchange patterns for client-service communications by setting properties of the OperationContractAttribute and ServiceContractAttribute in the contract.</p>
<p>Example:</p>
<p><pre class="brush: csharp;">

namespace WCFService
{
[ServiceContract]
public interface ICalculator
{
// It will be exposed to clients
[OperationContract]
double Add(double number1, double number2);
}
}

</pre></p>
<p><strong>Step 2 : Implement a Windows Communication Foundation Service Contract</strong> : Implement the Service Contract defined in step1.</p>
<p>Example:</p>
<p><pre class="brush: csharp;">

namespace WCFService
{
public class CalculatorService : ICalculator
{
#region ICalculator Members

public double Add(double number1, double number2)
{
Console.WriteLine(&quot;Service called at : {0}&quot;, DateTime.Now.ToString());
Console.WriteLine(@&quot;Calculator Service got called
with two parameters {0} and {1}&quot;,
number1,
number2);
double result = number1 + number2;
Console.WriteLine(&quot;The result is : {0}&quot;,result);
Console.WriteLine(&quot;-------------------------------&quot;);
return result;

}
#endregion
}
}

</pre></p>
<p><strong>Step 3 : Run a Basic Windows Communication Foundation Service</strong> :</p>
<p>This topic describes how to run a basic Windows Communication Foundation (WCF) service. This procedure consists of the following steps:</p>
<ul>
<li>Create a base address for the service.</li>
<li> Create a service host for the service.</li>
<li> Enable metadata exchange.</li>
<li> Open the service host.</li>
</ul>
<p>Example:</p>
<p><pre class="brush: csharp;">

namespace WCFService
{
class Program
{
static void Main(string[] args)
{
// Address
Uri baseAddress =
new Uri(&quot;http://localhost:8080/WCFService/Service&quot;);

// Host
ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService),
baseAddress);
try
{
// Binding, Contract
serviceHost.AddServiceEndpoint(typeof(ICalculator),
new WSHttpBinding(),
&quot;CalculatorService&quot;);

// Metadatabehavior
// WSDL information we need to expose to clients
// it works on HTTP GET Method
ServiceMetadataBehavior serviceMetadatabehavior
= new ServiceMetadataBehavior();
serviceMetadatabehavior.HttpGetEnabled = true;
serviceHost.Description.Behaviors.Add(serviceMetadatabehavior);

// Start the service
serviceHost.Open();

Console.WriteLine(&quot;Service started : {0}&quot;,
DateTime.Now.ToString());

// Stop the service
Console.WriteLine(&quot;Press  ENTER to shut down the service&quot;);
Console.ReadLine();
serviceHost.Close();

Console.WriteLine(@&quot;Service shutdown successfully.
Thank you for using our service!&quot;);

}
catch (CommunicationException ce)
{
Console.WriteLine(ce.Message);
serviceHost.Abort();
}
}
}
}
</pre></p>
<p><strong>Step 4: Create a Windows Communication Foundation Client</strong> : This topic describes how to retrieve metadata from a WCF service and use it to create a proxy that can access the service. This task is most easily completed by using the ServiceModel Metadata Utility Tool (<strong>Svcutil.exe</strong>) provided by WCF. This tool obtains the metadata from the service and generates a managed source code file for a client proxy in the language you have chosen. In addition to creating the client proxy, the tool also creates the configuration file for the client that enables the client application to connect to the service at one of its endpoints.</p>
<blockquote><p>svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config</p></blockquote>
<p>By default, the client proxy code is generated in a file named after the service (in this case, for example, CalculatorService.cs or CalculatorService.vb where the extension is appropriate to the programming language: .vb for Visual Basic or .cs for C#). The /out switch used changes the name of the client proxy file to &#8220;generatedProxy.cs&#8221;. The /config switch used changes the name of the client configuration file from the default &#8220;output.config&#8221; to &#8220;app.config&#8221;.</p>
<p><a href="http://kiranpatils.files.wordpress.com/2011/10/svcutil.png"><img class="alignnone size-full wp-image-733" title="svcutil" src="http://kiranpatils.files.wordpress.com/2011/10/svcutil.png" alt="" width="677" height="342" /></a></p>
<p><strong>Just a note : If you would like to test your service quickly. You can use WCFTestClient.exe utility which will help you to test your service without writing a single line of code for your WCF Client!</strong></p>
<p><a href="http://kiranpatils.files.wordpress.com/2011/10/wcftestclient.png"><img class="alignnone size-full wp-image-732" title="WCFTestClient" src="http://kiranpatils.files.wordpress.com/2011/10/wcftestclient.png" alt="" width="677" height="342" /></a></p>
<p><a href="http://kiranpatils.files.wordpress.com/2011/10/wcftestclient-output.png"><img class="alignnone size-full wp-image-734" title="WCFTestClient-Output" src="http://kiranpatils.files.wordpress.com/2011/10/wcftestclient-output.png" alt="" width="808" height="511" /></a></p>
<p><strong>Step 5: Configure a Basic Windows Communication Foundation Client :</strong> This topic adds the client configuration file that was generated using the Service Model Metadata Utility (Svcutil.exe) to the client project and explicates the contents of the client configuration elements. Configuring the client consists of specifying the endpoint that the client uses to access the service. An endpoint has an address, a binding and a contract, and each of these must be specified in the process of configuring the client.</p>
<p>svcutil.exe will provide you the default configuration automatically.</p>
<p><strong>Step 6 : Use a Windows Communication Foundation Client</strong> : Once a Windows Communication Foundation (WCF) proxy has been created and configured, a client instance can be created and the client application can be compiled and used to communicate with the WCF service. This topic describes procedures for creating and using a WCF client. This procedure does three things: creates a WCF client, calls the service operations from the generated proxy, and closes the client once the operation call is completed.</p>
<p>Now, copy paste the svcutil generated files (CS and Config file) within your console project and then you can call your service from your client application as shown below:</p>
<p>Example:</p>
<p><pre class="brush: csharp;">
namespace WCFClient
{
class Program
{
static void Main(string[] args)
{
CalculatorClient calculatorClient = new CalculatorClient();
Console.WriteLine(&quot;Proxy calling service...&quot;);
Console.WriteLine(calculatorClient.Add(10, 20));
// Good practice
calculatorClient.Close();
Console.WriteLine(&quot;closed!&quot;);
}
}
}
</pre></p>
<p>And then first start your service (your service must be in running state before you run the client) and then run the client. And this is how it will look like:</p>
<p><a href="http://kiranpatils.files.wordpress.com/2011/10/wcfserviceclient1.png"><img class="alignnone size-full wp-image-737" title="WCFServiceClient" src="http://kiranpatils.files.wordpress.com/2011/10/wcfserviceclient1.png" alt="" width="1024" height="547" /></a></p>
<h4>Resources</h4>
<p>Mike Taulty&#8217;s Video : Windows Communication Foundation:&#8221; Hello World&#8221;:</p>
<p><a href="http://go.microsoft.com/?linkid=4091084">http://go.microsoft.com/?linkid=4091084</a><br />
<a href="http://download.microsoft.com/download/f/b/3/fb3c2a8b-604e-479b-ab22-e31dc094a40d/WCF_Hello_World.zip">http://download.microsoft.com/download/f/b/3/fb3c2a8b-604e-479b-ab22-e31dc094a40d/WCF_Hello_World.zip</a></p>
<p>Stay tuned for next story! (Just a note : If you would like to get email update whenever new story get posted, please do subscribe using subscription form &#8212; given right side) <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Happy WCF Programming! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kiranpatils.wordpress.com/730/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kiranpatils.wordpress.com/730/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kiranpatils.wordpress.com/730/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kiranpatils.wordpress.com/730/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kiranpatils.wordpress.com/730/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kiranpatils.wordpress.com/730/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kiranpatils.wordpress.com/730/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kiranpatils.wordpress.com/730/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kiranpatils.wordpress.com/730/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kiranpatils.wordpress.com/730/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kiranpatils.wordpress.com/730/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kiranpatils.wordpress.com/730/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kiranpatils.wordpress.com/730/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kiranpatils.wordpress.com/730/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kiranpatils.wordpress.com&amp;blog=2255758&amp;post=730&amp;subd=kiranpatils&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kiranpatils.wordpress.com/2011/10/01/wcf-fundamentals-and-quick-start/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
<enclosure url="http://go.microsoft.com/?linkid=4091084" length="132" type="video/x-ms-wvx" />
	
		<media:content url="http://1.gravatar.com/avatar/ff64a6ee0fb6ddd0abfb2d5560a6bc2c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kiran Patil</media:title>
		</media:content>

		<media:content url="http://kiranpatils.files.wordpress.com/2011/10/wcf_fundamentals-story.png" medium="image">
			<media:title type="html">WCF_Fundamentals-story</media:title>
		</media:content>

		<media:content url="http://kiranpatils.files.wordpress.com/2011/10/svcutil.png" medium="image">
			<media:title type="html">svcutil</media:title>
		</media:content>

		<media:content url="http://kiranpatils.files.wordpress.com/2011/10/wcftestclient.png" medium="image">
			<media:title type="html">WCFTestClient</media:title>
		</media:content>

		<media:content url="http://kiranpatils.files.wordpress.com/2011/10/wcftestclient-output.png" medium="image">
			<media:title type="html">WCFTestClient-Output</media:title>
		</media:content>

		<media:content url="http://kiranpatils.files.wordpress.com/2011/10/wcfserviceclient1.png" medium="image">
			<media:title type="html">WCFServiceClient</media:title>
		</media:content>
	</item>
		<item>
		<title>Why we need Windows Communication Foundation?</title>
		<link>http://kiranpatils.wordpress.com/2011/09/29/why-we-need-windows-communication-foundation/</link>
		<comments>http://kiranpatils.wordpress.com/2011/09/29/why-we-need-windows-communication-foundation/#comments</comments>
		<pubDate>Thu, 29 Sep 2011 16:50:19 +0000</pubDate>
		<dc:creator>kiranpatils</dc:creator>
				<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">http://kiranpatils.wordpress.com/?p=715</guid>
		<description><![CDATA[Challenge: In earlier days, when i was totally newbie to WCF, I was not clear why we need WCF? one thing I was clear that it has something to do with Web Services. But other than that nothing was much clear. Then at one fine day, I came across Shivprasad Koirala&#8217;s .NET Interview questions book. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kiranpatils.wordpress.com&amp;blog=2255758&amp;post=715&amp;subd=kiranpatils&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>Challenge:</h3>
<p>In earlier days, when i was totally newbie to WCF, I was not clear why we need WCF? one thing I was clear that it has something to do with Web Services. But other than that nothing was much clear.</p>
<p>Then at one fine day, I came across Shivprasad Koirala&#8217;s .NET Interview questions book. In which he explained why we need WCF and what is WCF using a fictional story. It is really nicely written and it clears why we need WCF.</p>
<p>Before couple of days, I got good time (as I was on holidays) to convert that story in a comic &#8212; To make it more funny (And that&#8217;s what philosophy I follow &#8212; &#8220;Coding should be fun&#8221; <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> ) and comic blog &#8212; a new concept which I always wanted to start!</p>
<p>So, here we go my first comic blog article which explains why we need WCF?</p>
<h3>Solution:</h3>
<p><a href="http://kiranpatils.files.wordpress.com/2011/09/wcf-1.png"><img class="alignnone size-full wp-image-716" title="WCF-1" src="http://kiranpatils.files.wordpress.com/2011/09/wcf-1.png" alt="" width="253" height="498" /></a></p>
<ul>
<li>Long Long time ago there lived a hardworking and a nice architecture.</li>
<li>Develop a Booking Engine which books tickets for any flight carriers.</li>
<li>The nice and hardworking architecture and his team developed a nice booking engine by which you can book tickets through any of the flight Carriers. The Travel Agent Company was very happy with the architecture and his team Member’s achievements.</li>
</ul>
<p><a href="http://kiranpatils.files.wordpress.com/2011/09/wcf-2.png"><img class="alignnone size-full wp-image-717" title="WCF-2" src="http://kiranpatils.files.wordpress.com/2011/09/wcf-2.png" alt="" width="252" height="496" /></a></p>
<ul>
<li style="text-align:left;">As time passed by the travel agent&#8217;s business grew in multiples</li>
<li style="text-align:left;">Architecture and his team was very excited and they started to work on this new stuff</li>
<li style="text-align:left;">All franchises run on Windows Platform.</li>
<li style="text-align:left;">Booking engine was located in the main head office and all the franchise should communicate to this booking engine.</li>
<li style="text-align:left;">After months he rolled out his project successfully.</li>
</ul>
<p><a href="http://kiranpatils.files.wordpress.com/2011/09/wcf-3.png"><img class="alignnone size-full wp-image-718" title="WCF-3" src="http://kiranpatils.files.wordpress.com/2011/09/wcf-3.png" alt="" width="252" height="497" /></a></p>
<ul>
<li>Time passed by and because of the good automated booking service more companies wanted to take the franchise from the travel agent. But the big issue was many of the franchise did not have windows operating system. They worked on Linux and other Non-Microsoft operating systems.</li>
<li>Due to this limitation travel agent was losing lot of franchise business.</li>
<li>Now, booking engine runs on two platforms .NET Remoting (for Windows based clients) and Web Services (for non-windows based clients).</li>
</ul>
<p><a href="http://kiranpatils.files.wordpress.com/2011/09/wcf-4.png"><img class="alignnone size-full wp-image-719" title="WCF-4" src="http://kiranpatils.files.wordpress.com/2011/09/wcf-4.png" alt="" width="253" height="496" /></a></p>
<ul>
<li>Franchise client had to wait to get response and was not able to process the next ticket booking until the first one was served. Travel Agent started receiving huge complaints because of this synchronous processing.</li>
<li>Booking engine had the capacity of serving 20 tickets / second but it had now to serve 50 tickets / second.</li>
<li>when the travel agent makes a booking it will come and fall in the queue and release the travel agent. Booking engine will always poll for this queue. When the booking engine finishes he will publish the booking results back to the queue. Travel agent client can then come at his leisure and see the results.</li>
</ul>
<p><a href="http://kiranpatils.files.wordpress.com/2011/09/wcf-5.png"><img class="alignnone size-full wp-image-720" title="WCF-5" src="http://kiranpatils.files.wordpress.com/2011/09/wcf-5.png" alt="" width="252" height="498" /></a></p>
<ul>
<li>Everyone in the travel company was really happy and impressed by the architect and his team members</li>
<li>Travel Agent then felt a huge necessity of a good security model with the booking engine.</li>
</ul>
<p><a href="http://kiranpatils.files.wordpress.com/2011/09/wcf-6.png"><img class="alignnone size-full wp-image-721" title="WCF-6" src="http://kiranpatils.files.wordpress.com/2011/09/wcf-6.png" alt="" width="254" height="497" /></a></p>
<ul>
<li>Till now the travel agent was booking one ticket at a time. But soon he started getting lot of orders to book group family tickets.</li>
<li>Consistency &#8211; If father’s ticket gets canceled. Kid’s ticket should also be got canceled.</li>
</ul>
<p><a href="http://kiranpatils.files.wordpress.com/2011/09/wcf-7.png"><img class="alignnone size-full wp-image-722" title="WCF-7" src="http://kiranpatils.files.wordpress.com/2011/09/wcf-7.png" alt="" width="252" height="491" /></a></p>
<p>They were working on:</p>
<ul>
<li>.NET</li>
<li>.NET Remoting</li>
<li>Web Services</li>
<li>MSMQ</li>
<li>WSE</li>
<li>COM+</li>
</ul>
<p><a href="http://kiranpatils.files.wordpress.com/2011/09/wcf-8.png"><img class="alignnone size-full wp-image-723" title="WCF-8" src="http://kiranpatils.files.wordpress.com/2011/09/wcf-8.png" alt="" width="255" height="495" /></a></p>
<p>WCF is a unification of all distributed technologies like:</p>
<ul>
<li>.NET Remoting</li>
<li>MSMQ</li>
<li>Web Services</li>
<li>COM+</li>
</ul>
<p>Thanks a lot <strong>Shivprasad Koirala</strong> for writing such a nice story!</p>
<p>Happy Coding! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kiranpatils.wordpress.com/715/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kiranpatils.wordpress.com/715/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kiranpatils.wordpress.com/715/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kiranpatils.wordpress.com/715/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kiranpatils.wordpress.com/715/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kiranpatils.wordpress.com/715/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kiranpatils.wordpress.com/715/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kiranpatils.wordpress.com/715/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kiranpatils.wordpress.com/715/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kiranpatils.wordpress.com/715/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kiranpatils.wordpress.com/715/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kiranpatils.wordpress.com/715/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kiranpatils.wordpress.com/715/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kiranpatils.wordpress.com/715/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kiranpatils.wordpress.com&amp;blog=2255758&amp;post=715&amp;subd=kiranpatils&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kiranpatils.wordpress.com/2011/09/29/why-we-need-windows-communication-foundation/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ff64a6ee0fb6ddd0abfb2d5560a6bc2c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kiran Patil</media:title>
		</media:content>

		<media:content url="http://kiranpatils.files.wordpress.com/2011/09/wcf-1.png" medium="image">
			<media:title type="html">WCF-1</media:title>
		</media:content>

		<media:content url="http://kiranpatils.files.wordpress.com/2011/09/wcf-2.png" medium="image">
			<media:title type="html">WCF-2</media:title>
		</media:content>

		<media:content url="http://kiranpatils.files.wordpress.com/2011/09/wcf-3.png" medium="image">
			<media:title type="html">WCF-3</media:title>
		</media:content>

		<media:content url="http://kiranpatils.files.wordpress.com/2011/09/wcf-4.png" medium="image">
			<media:title type="html">WCF-4</media:title>
		</media:content>

		<media:content url="http://kiranpatils.files.wordpress.com/2011/09/wcf-5.png" medium="image">
			<media:title type="html">WCF-5</media:title>
		</media:content>

		<media:content url="http://kiranpatils.files.wordpress.com/2011/09/wcf-6.png" medium="image">
			<media:title type="html">WCF-6</media:title>
		</media:content>

		<media:content url="http://kiranpatils.files.wordpress.com/2011/09/wcf-7.png" medium="image">
			<media:title type="html">WCF-7</media:title>
		</media:content>

		<media:content url="http://kiranpatils.files.wordpress.com/2011/09/wcf-8.png" medium="image">
			<media:title type="html">WCF-8</media:title>
		</media:content>
	</item>
		<item>
		<title>Presentation on coding standards and best programming practices</title>
		<link>http://kiranpatils.wordpress.com/2011/08/21/presentation-on-coding-standards-and-best-programming-practices/</link>
		<comments>http://kiranpatils.wordpress.com/2011/08/21/presentation-on-coding-standards-and-best-programming-practices/#comments</comments>
		<pubDate>Sun, 21 Aug 2011 08:25:23 +0000</pubDate>
		<dc:creator>kiranpatils</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Article]]></category>
		<category><![CDATA[coding standards]]></category>

		<guid isPermaLink="false">http://kiranpatils.wordpress.com/?p=705</guid>
		<description><![CDATA[Challenge: Luckily, I got sometime to come back on this blog and share something with you! After getting bit experience, making few mistakes [and obviously learning from them] I thought to write an article on coding standards and best programming practices, I know few of you say there are the lot of articles available on [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kiranpatils.wordpress.com&amp;blog=2255758&amp;post=705&amp;subd=kiranpatils&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>Challenge:</h3>
<p>Luckily, I got sometime to come back on this blog and share something with you!</p>
<p>After getting bit experience, making few mistakes [and obviously learning from them] I thought to write an article on coding standards and best programming practices, I know few of you say there are the lot of articles available on web from big guns on this topic. And I agree with you. But all of them are &#8220;document&#8221; and I&#8217;ve penned down &#8220;presentation&#8221; which shares the best practices in a lighter way! and obviously &#8220;reading document&#8221; sounds bit boring and &#8220;reading presentation&#8221; sounds bit interesting and fun! That’s what I think &#8220;Coding should be fun!&#8221; <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>I had started working on this article, and revised it so many times, got it reviewed from friends, got their feedback and included it in the document. Initially planned to give this presentation to audience in person. But due to one or other reasons this idea didn&#8217;t work. PPT was ready and was lying in my folder since so long. Today, I thought that I should share it here. So, It will be available to larger audience.</p>
<h3>Solution:</h3>
<p>It covers following topics:</p>
<ul>
<li>Naming Conventions and Standards</li>
<li>Indentation, spacing and comments</li>
<li>Coding Best Practices</li>
<li>Database Best Practices</li>
<li>ASP.NET Best Practices</li>
<li>Exception Handling and Logging</li>
<li>Visual Studio IDE Tips and Tricks</li>
</ul>
<p>You can download it from following links:</p>
<p><a href="http://kiranpatils.files.wordpress.com/2011/08/c-coding-standards-and-best-programming-practices.pdf" target="_blank">C# Coding Standards And Best Programming Practices</a> (PDF)</p>
<p><a href="http://kiranpatils.files.wordpress.com/2011/08/c-coding-standards-and-best-programming-practices.ppt" target="_blank">C# Coding Standards And Best Programming Practices</a> (PPT)</p>
<p>Also you can have a quick look from below and if you find it interesting then only you can download <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>PPT</strong></p>
<iframe class="scribd_iframe_embed" src="http://www.scribd.com/embeds/62747117/content?start_page=1&view_mode=list&access_key=key-2d4x58u7dizv46r6u1mt" data-auto-height="true" scrolling="no" id="scribd_62747117" width="100%" height="500" frameborder="0"></iframe>
<div style="font-size:10px;text-align:center;width:100%"><a href="http://www.scribd.com/doc/62747117">View this document on Scribd</a></div>
<p><strong>PDF</strong></p>
<iframe class="scribd_iframe_embed" src="http://www.scribd.com/embeds/62748045/content?start_page=1&view_mode=slideshow&access_key=key-9ym8vluqb0fcxwz5ovc" data-auto-height="true" scrolling="no" id="scribd_62748045" width="100%" height="500" frameborder="0"></iframe>
<div style="font-size:10px;text-align:center;width:100%"><a href="http://www.scribd.com/doc/62748045">View this document on Scribd</a></div>
<p>Thanks to all of them who provided their invaluable suggestions, feedback, and helped me to proof read this PPT.</p>
<p>Eager to listen your views/suggestions/comments/feedback.</p>
<p>If you really liked it, then please spread it. So, it will be beneficial to everyone!</p>
<p>Happy Coding! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kiranpatils.wordpress.com/705/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kiranpatils.wordpress.com/705/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kiranpatils.wordpress.com/705/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kiranpatils.wordpress.com/705/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kiranpatils.wordpress.com/705/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kiranpatils.wordpress.com/705/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kiranpatils.wordpress.com/705/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kiranpatils.wordpress.com/705/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kiranpatils.wordpress.com/705/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kiranpatils.wordpress.com/705/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kiranpatils.wordpress.com/705/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kiranpatils.wordpress.com/705/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kiranpatils.wordpress.com/705/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kiranpatils.wordpress.com/705/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kiranpatils.wordpress.com&amp;blog=2255758&amp;post=705&amp;subd=kiranpatils&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kiranpatils.wordpress.com/2011/08/21/presentation-on-coding-standards-and-best-programming-practices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ff64a6ee0fb6ddd0abfb2d5560a6bc2c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kiran Patil</media:title>
		</media:content>
	</item>
		<item>
		<title>Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occured because all pooled connections were in use and max pool size was reached.</title>
		<link>http://kiranpatils.wordpress.com/2011/06/21/timeout-expired-the-timeout-period-elapsed-prior-to-obtaining-a-connection-from-the-pool-this-may-have-occured-because-all-pooled-connections-were-in-use-and-max-pool-size-was-reached/</link>
		<comments>http://kiranpatils.wordpress.com/2011/06/21/timeout-expired-the-timeout-period-elapsed-prior-to-obtaining-a-connection-from-the-pool-this-may-have-occured-because-all-pooled-connections-were-in-use-and-max-pool-size-was-reached/#comments</comments>
		<pubDate>Tue, 21 Jun 2011 17:49:27 +0000</pubDate>
		<dc:creator>kiranpatils</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ADO.NET]]></category>

		<guid isPermaLink="false">http://kiranpatils.wordpress.com/?p=703</guid>
		<description><![CDATA[Challenge: Have you seen following error? timeout-expired-the-timeout-period-elapsed-prior-to-obtaining-a-connection-from-the-pool-this-may-have-occured-because-all-pooled-connections-were-in-use-and-max-pool-size-was-reached Then this post is to solve it! Solution: As per the error your code has not closed the opened SqlConnection properly. For example SqlConnection conn = new SqlConnection( myConnectionString); conn.Open(); doSomething(); /*  If some error occurs here &#8212; Next line will not get called and it will leave [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kiranpatils.wordpress.com&amp;blog=2255758&amp;post=703&amp;subd=kiranpatils&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>Challenge:</h3>
<p>Have you seen following error?</p>
<p><span style="color:#ff0000;">timeout-expired-the-timeout-period-elapsed-prior-to-obtaining-a-connection-from-the-pool-this-may-have-occured-because-all-pooled-connections-were-in-use-and-max-pool-size-was-reached</span></p>
<p>Then this post is to solve it!</p>
<h3>Solution:</h3>
<p>As per the error your code has not closed the opened SqlConnection properly. For example</p>
<p>SqlConnection conn = new SqlConnection(</p>
<div id=":13n">myConnectionString);<br />
conn.Open();<br />
doSomething(); /* <strong> If some error occurs here &#8212; Next line will not get called and it will leave connection open</strong> */<br />
conn.Close();</p>
<p><strong>Solution:</strong></p>
<p>1.<br />
SqlConnection conn = new SqlConnection(myConnectionString);<br />
try<br />
{<br />
conn.Open();<br />
doSomething(conn);<br />
}<br />
finally<br />
{<br />
conn.Close();    // This line will get called in any case &#8212; success/failure<br />
}</p>
<p>So, open your solution in Visual Studio and search in entire solution for all open connections and for all the code implement above suggested solution.</p></div>
<blockquote>
<div>Just a note : If you have written Data Access layer code in code behind file then you are in trouble here. You have to do changes at N number of places. If you would have created separate Data Access layer (Technically Class Library) and Method to do DB operation then your task would have been easy enough!</div>
</blockquote>
<div>
2) You can raise the connection pool size in the connection string.  For example, you can add &#8220;Max Pool Size=100&#8243; to your connection string to increase the pool size to 100.</p>
<p>Implement above solutions. You should not see any issues any more.</p></div>
<div><strong>Good to read :</strong></div>
<div>http://blogs.msdn.com/b/tolong/archive/2006/11/21/max-pool-size-was-reached.aspx</div>
<div>Happy DB Access! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kiranpatils.wordpress.com/703/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kiranpatils.wordpress.com/703/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kiranpatils.wordpress.com/703/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kiranpatils.wordpress.com/703/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kiranpatils.wordpress.com/703/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kiranpatils.wordpress.com/703/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kiranpatils.wordpress.com/703/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kiranpatils.wordpress.com/703/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kiranpatils.wordpress.com/703/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kiranpatils.wordpress.com/703/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kiranpatils.wordpress.com/703/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kiranpatils.wordpress.com/703/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kiranpatils.wordpress.com/703/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kiranpatils.wordpress.com/703/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kiranpatils.wordpress.com&amp;blog=2255758&amp;post=703&amp;subd=kiranpatils&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kiranpatils.wordpress.com/2011/06/21/timeout-expired-the-timeout-period-elapsed-prior-to-obtaining-a-connection-from-the-pool-this-may-have-occured-because-all-pooled-connections-were-in-use-and-max-pool-size-was-reached/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ff64a6ee0fb6ddd0abfb2d5560a6bc2c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kiran Patil</media:title>
		</media:content>
	</item>
		<item>
		<title>ASP.NET Session with proxy server</title>
		<link>http://kiranpatils.wordpress.com/2011/06/21/asp-net-session-with-proxy-server/</link>
		<comments>http://kiranpatils.wordpress.com/2011/06/21/asp-net-session-with-proxy-server/#comments</comments>
		<pubDate>Tue, 21 Jun 2011 17:30:03 +0000</pubDate>
		<dc:creator>kiranpatils</dc:creator>
				<category><![CDATA[ASP.NET]]></category>

		<guid isPermaLink="false">http://kiranpatils.wordpress.com/?p=699</guid>
		<description><![CDATA[Challenge: Y&#8217;day I came across with nice issue. Basically there is one Web Application developed using ASP.NET and deployed on IIS Server. Now, this application will be accessed by more than 2-3 people from Local area network. So, far so good. This application uses Session and here issue comes &#8212; For all users across different [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kiranpatils.wordpress.com&amp;blog=2255758&amp;post=699&amp;subd=kiranpatils&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>Challenge:</h3>
<p>Y&#8217;day I came across with nice issue. Basically there is one Web Application developed using ASP.NET and deployed on IIS Server. Now, this application will be accessed by more than 2-3 people from Local area network. So, far so good.</p>
<p>This application uses Session and here issue comes &#8212; For all users across different machines were getting access of different persons session data &#8212; which should not be the case. Because as per theory &#8220;session&#8221; is unique for each user. But my dear friend theory is theory in real life you have to face lots of challenges like this. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<h3>Solution:</h3>
<p>So, I jumped in to this issue and first tried to understand what is going on [The basic stuff -- which I always do!].</p>
<p>To quick check the Session ID and other Session related information. I decided to code one page which will print my session info on page and it should show me some direction. I opened my favorite tool &#8212; Visual Studio and added one page using single file model &#8212; which I can deploy easily on server.</p>
<p>The code looks like below:</p>
<p>&lt;%@ Page Language=&#8221;C#&#8221; AutoEventWireup=&#8221;true&#8221; %&gt;</p>
<p>&lt;%@ Import Namespace=&#8221;System&#8221; %&gt;<br />
&lt;!&#8211;<span class="hiddenSpellError">DOCTYPE html PUBLIC &#8220;/-/W3C//DTD XHTML 1.0 Transitional//EN&#8221; &#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221;&gt;<br />
xmlns=&#8221;http://www.w3.org/1999/xhtml&#8221;&gt;<br />
&lt;script language=&#8221;C#&#8221; runat=&#8221;server&#8221;&gt;</p>
<p>// new line<br />
private const string breakLine = &#8220;<br />
&#8220;;</p>
<p>// Strong Start<br />
private const string strongStart = &#8220;<strong>&#8220;;</strong></p>
<p>// Strong End<br />
private const string strongEnd = &#8220;&#8221;;</p>
<p>private const string sessionTimeKey = &#8220;SessionTime&#8221;;</p>
<p>protected void Page_Load(object sender, EventArgs e)<br />
{<br />
// generate string with all required information<br />
StringBuilder sessionInformation = new StringBuilder();</p>
<p>if (Session[sessionTimeKey] == null)<br />
// Current Time<br />
Session[sessionTimeKey] = DateTime.Now;</p>
<p>// IsCookieless<br />
sessionInformation.Append(strongStart);<br />
sessionInformation.Append(&#8220;IsCookieless : &#8220;);<br />
sessionInformation.Append(strongEnd);<br />
sessionInformation.Append(Session.IsCookieless.ToString());<br />
sessionInformation.Append(breakLine);</p>
<p>// IsNewSession<br />
sessionInformation.Append(strongStart);<br />
sessionInformation.Append(&#8220;IsNewSession : &#8220;);<br />
sessionInformation.Append(strongEnd);<br />
sessionInformation.Append(Session.IsNewSession.ToString());<br />
sessionInformation.Append(breakLine);</p>
<p>// Session.Keys.Count<br />
sessionInformation.Append(strongStart);<br />
sessionInformation.Append(&#8221; Total Keys Count : &#8220;);<br />
sessionInformation.Append(strongEnd);<br />
sessionInformation.Append(Session.Keys.Count.ToString());<br />
sessionInformation.Append(breakLine);</p>
<p>// Mode<br />
sessionInformation.Append(strongStart);<br />
sessionInformation.Append(&#8221; Session Mode : &#8220;);<br />
sessionInformation.Append(strongEnd);<br />
sessionInformation.Append(Session.Mode.ToString());<br />
sessionInformation.Append(breakLine);</p>
<p>// SessionID<br />
sessionInformation.Append(strongStart);<br />
sessionInformation.Append(&#8221; SessionID : &#8220;);<br />
sessionInformation.Append(strongEnd);<br />
sessionInformation.Append(Session.SessionID);<br />
sessionInformation.Append(breakLine);</p>
<p>// Timeout<br />
sessionInformation.Append(strongStart);<br />
sessionInformation.Append(&#8221; Timeout : &#8220;);<br />
sessionInformation.Append(strongEnd);<br />
sessionInformation.Append(Session.Timeout.ToString());<br />
sessionInformation.Append(breakLine);</p>
<p>// Session Value<br />
sessionInformation.Append(strongStart);<br />
sessionInformation.Append(&#8221; Session Value(DateTime) : &#8220;);<br />
sessionInformation.Append(strongEnd);<br />
sessionInformation.Append(Convert.ToString(Session[sessionTimeKey]));<br />
sessionInformation.Append(breakLine);</p>
<p>// SERVER_NAME<br />
sessionInformation.Append(strongStart);<br />
sessionInformation.Append(&#8221; SERVER_NAME : &#8220;);<br />
sessionInformation.Append(strongEnd);<br />
sessionInformation.Append(Request.ServerVariables["SERVER_NAME"]);<br />
sessionInformation.Append(breakLine);</p>
<p>// SERVER_PORT<br />
sessionInformation.Append(strongStart);<br />
sessionInformation.Append(&#8221; SERVER_PORT : &#8220;);<br />
sessionInformation.Append(strongEnd);<br />
sessionInformation.Append(Request.ServerVariables["SERVER_PORT"]);<br />
sessionInformation.Append(breakLine);</p>
<p>// LOCAL_ADDR<br />
sessionInformation.Append(strongStart);<br />
sessionInformation.Append(&#8221; LOCAL_ADDR : &#8220;);<br />
sessionInformation.Append(strongEnd);<br />
sessionInformation.Append(Request.ServerVariables["LOCAL_ADDR"]);<br />
sessionInformation.Append(breakLine);</p>
<p>// REMOTE_ADDR<br />
sessionInformation.Append(strongStart);<br />
sessionInformation.Append(&#8221; REMOTE_ADDR : &#8220;);<br />
sessionInformation.Append(strongEnd);<br />
sessionInformation.Append(Request.ServerVariables["REMOTE_ADDR"]);<br />
sessionInformation.Append(breakLine);</p>
<p>// REMOTE_HOST<br />
sessionInformation.Append(strongStart);<br />
sessionInformation.Append(&#8221; REMOTE_HOST : &#8220;);<br />
sessionInformation.Append(strongEnd);<br />
sessionInformation.Append(Request.ServerVariables["REMOTE_HOST"]);<br />
sessionInformation.Append(breakLine);</p>
<p>// SERVER_NAME<br />
sessionInformation.Append(strongStart);<br />
sessionInformation.Append(&#8221; SERVER_NAME : &#8220;);<br />
sessionInformation.Append(strongEnd);<br />
sessionInformation.Append(Request.ServerVariables["SERVER_NAME"]);<br />
sessionInformation.Append(breakLine);</p>
<p>Response.Write(sessionInformation.ToString());</p>
<p>sessionInformation.Append(breakLine);<br />
Response.Write(&#8220;&#8212;&#8212;&#8212;-SESSION CONTENT&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#8221;);<br />
Response.Write(breakLine);</p>
<p>foreach (string item in Session.Contents)<br />
{<br />
if (Session[item] != null)<br />
{<br />
Response.Write(string.Format(&#8220;Key :{0} &#8211; Value : {1}&#8221;,<br />
item,Convert.ToString(Session[item])));<br />
Response.Write(breakLine);<br />
}<br />
}</p>
<p>}</p>
<p>protected void btnRefresh_Click(object sender, EventArgs e)<br />
{<br />
Response.Redirect(Request.Url.ToString());<br />
}</p>
<p>&lt;/script&gt;<br />
&lt;head runat=&#8221;server&#8221;&gt;<br />
&lt;title&gt;Session Check Page&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;form id=&#8221;form1&#8243; runat=&#8221;server&#8221;&gt;<br />
&lt;div&gt;<br />
&lt;asp:Button ID=&#8221;btnRefresh&#8221; runat=&#8221;server&#8221; Text=&#8221;Refresh&#8221; OnClick=&#8221;btnRefresh_Click&#8221; /&gt;<br />
&lt;/div&gt;<br />
&lt;br /&gt;<br />
&lt;/form&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p>Basically, this page is my favorite page. Before a year using this page&#8217;s code only. I fixed one Live issue [Sticky Session was of on Load balancer on our web farm environment]. If you see the code of page it is quite simple. But very useful!</p>
<p>What I check there is Session ID, LOCAL Address and Session value which I store on page load&#8217;s not postback only. And it has one nice button called &#8220;Refresh&#8221; which redirects on same page.</p>
<p>We deployed this page on Server and started accessing it from different &#8211; different machines. And we started clicking on &#8220;Refresh&#8221; button which shown us few strange thing as below:</p>
<p>1. SessionID was changing on each Refresh button&#8217;s click &#8211; This should not be the case. Because Session ID will be unique till session expires or user closes the browser.</p>
<p>2. Session&#8217;s value was also changing on each refresh.</p>
<p>3. REMOTE_ADDR was coming same on 2-3 machines.</p>
<p>Now, we started removing possibilities one by one.</p>
<p>For issue#1 &#8212; We checked Web.Config and found that <a href="http://msdn.microsoft.com/en-us/library/system.web.configuration.sessionstatesection.statenetworktimeout.aspx" target="_blank">StateNetworkTimeout</a> property has been assigned, frankly it should not cause an issue. But we thought better to remove it. So, we removed it.</p>
<p>#2 ,#3 &#8211; Then we realized that we are using Proxy on our LAN and REMOTE_ADDR&#8217;s IP address was IP Address of proxy server.</p>
<p>So, we found that Proxy is causing us an issue. To resolve it we removed proxy server&#8217;s setting from Internet explorer&#8217;s settings for few machines from which we need to access this application.</p>
<p>Isn&#8217;t it simple?</p>
<p>Happy Coding! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kiranpatils.wordpress.com/699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kiranpatils.wordpress.com/699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kiranpatils.wordpress.com/699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kiranpatils.wordpress.com/699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kiranpatils.wordpress.com/699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kiranpatils.wordpress.com/699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kiranpatils.wordpress.com/699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kiranpatils.wordpress.com/699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kiranpatils.wordpress.com/699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kiranpatils.wordpress.com/699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kiranpatils.wordpress.com/699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kiranpatils.wordpress.com/699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kiranpatils.wordpress.com/699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kiranpatils.wordpress.com/699/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kiranpatils.wordpress.com&amp;blog=2255758&amp;post=699&amp;subd=kiranpatils&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kiranpatils.wordpress.com/2011/06/21/asp-net-session-with-proxy-server/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ff64a6ee0fb6ddd0abfb2d5560a6bc2c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kiran Patil</media:title>
		</media:content>
	</item>
		<item>
		<title>1,50,000 blog hits and growing</title>
		<link>http://kiranpatils.wordpress.com/2011/06/18/150000-blog-hits-and-growing/</link>
		<comments>http://kiranpatils.wordpress.com/2011/06/18/150000-blog-hits-and-growing/#comments</comments>
		<pubDate>Sat, 18 Jun 2011 04:20:59 +0000</pubDate>
		<dc:creator>kiranpatils</dc:creator>
				<category><![CDATA[Milestones]]></category>

		<guid isPermaLink="false">http://kiranpatils.wordpress.com/?p=684</guid>
		<description><![CDATA[I still remember my 1,00,000 hits blog which I wrote on 23rd August 2011. And today Just saw that we crossed 1,50,000 blog hits and this not an end this is just beginning because I know that you &#8212; my blog readers &#8211; will keep visiting, reading, and sharing my blog. Thanks to each and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kiranpatils.wordpress.com&amp;blog=2255758&amp;post=684&amp;subd=kiranpatils&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I still remember my <a title="1,00,000 blog hits… and Counting" href="http://kiranpatils.wordpress.com/2010/08/23/100000-blog-hits%e2%80%a6-and-counting/" target="_blank">1,00,000 hits blog</a> which I wrote on 23rd August 2011. And today Just saw that we crossed 1,50,000 blog hits<strong></strong> and this not an end this is just beginning because I know that you &#8212; my blog readers &#8211; will keep visiting, reading, and sharing my blog. Thanks to each and every visitor for contributing in to this count so all credit goes to you! &#8212; Thank you again!</p>
<p><div id="attachment_685" class="wp-caption alignright" style="width: 160px"><a href="http://kiranpatils.files.wordpress.com/2011/06/150000hits.jpg"><img class="size-thumbnail wp-image-685" title="150000Hits" src="http://kiranpatils.files.wordpress.com/2011/06/150000hits.jpg?w=150&#038;h=88" alt="1,50,000 Hits" width="150" height="88" /></a><p class="wp-caption-text">1,50,000 Hits</p></div>
<p>I remember that I&#8217;ve started blogging from <strong>December 2007</strong> and till today I&#8217;m learning how to write a good blog &#8212; yeah agree that each and every day I&#8217;ve learnt a lot!</p>
<p>One thing which motivates me a most to keep my blog alive and writing tirelessly, Is people&#8217;s comments. When I check the comments people says &#8220;Oh man you saved my day&#8221;, &#8220;Thank you&#8221;. Frankly speaking it stimulates a lot. It absorbs all my day&#8217;s tiredness and inspires me to write one new blog <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  [So, If you like anything -- not only on my blog or virtual world. I am talking about all aspects. Then don't forget to appreciate it!]. Some comments I would like to share with you:</p>
<blockquote><p>THANK YOU THANK YOU! Days of Tracking down solution NONE WORKED!!! EXCEPT</p>
<p>YOURS! This is was a great Help. Thank you Very Much. Even Microsofts sight, did not have this solution for this probolem….like that is a surprise!</p>
<p>Thank god there are people like you. And of course all you others that came here as me…</p>
<p> Thnaks</p>
<p> /Ralf</p>
<p>Thanks a lot it worked for me… <img src="http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif" alt=":)" /></p>
<p>thank you ,it’s helped me alot</p>
<p> wow…life is truely an enjoyable mystery sometimes(with a few bumps/challenges here and there). I got your link from an email one of our developers sent another programmer. I saw what the conversation was about so I followed the link (I also do some programming). After reading a few of your posts and your comments, I was truely impressed with your spirit. Aside from programming, it was nice to stumble upon your site and to walk away with a few tid-bits of inspiration…code, life. In this world today, we all need to remind each other of gratitude, thankfulness, and yes, happiness. Thank you my friend for letting your heart shine.</p>
<p> Thanks for the tip…</p>
<p>really helped me.I also want to do a similar thing. and it works fine</p>
<p>Thank you, this was driving me nuts and changing to a dataset finally gotit working. Awesome!</p>
<p> You, my friend, are a god-send. This is exactly the fix I needed. I’ve spent a couple days trying to get my vbs files to work and was about to give up and rebuild this XP machine.</p>
<p>Thank you.</p>
<p>Thanks Kiran..!</p>
<p> The solution rele worked..</p>
<p> After searching a lot on the net finally got the solution..</p>
<p> Thanks to your Blog..</p>
<p> You Rock Man..! Cheers..!</p>
<p> Worked like a champ.</p>
<p>May Allah give u peace…</p>
<p> nice..it helps me alot…</p>
<p>HADAKALLAH</p>
<p> Super Duper Work Superman…!</p>
<p>Thanks kiranpatils for such lovely blogs you write…</p>
<p> They are a great source of knowledge as well as inspiration to me and I surely know to many others….</p>
<p>Awesome! Saved me some time here – thanks!</p>
<p> Awesome, tried this 100% working. Thank you heaps.</p>
<p>Thank you very much for this article..I got a clear idea of web service</p>
<p> This is our MAN OF MICROSOFT..</p>
<p>COOL WORK OVER THE WORDPRESS BROTHER. HAPPY TO SEE YOUR “HAPPY TO HELP” ATTITUDE.. AS I ALWAYS SAY HE IS “MAN OF MICROSOFT”…. Keep It Up Bro… He deserve to be MVP..</p>
<p>I want you all people to encourage his blogging and appreciate his affords to share his excellent and oustanding knowledge which he has gained by hard work. ( <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  i knw the way he worked for excellancy, productivity and knowledge gaining for .Net Framework ) if his answer really help you out (which i strongly believe his solution will 100000000% work). You can keep close your eyes and do what he says <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  and there you are with your all answers.</p>
<p>Finally I would again say “MAN OF MICROSOFT” and one of my BESTEST buddy ever. [though hardly get to talk and meet]</p>
<p>HOPE TO SEE YOU SOOOOOOOOON ON THE LIST OF “MVPs”….(You very well know how long its been I am waiting to see you on MVPs List so please make it faster brother)</p>
<p>ALL THE VERY BEST TO YOU “MAN OF MICROSOFT”…..</p>
<p>Thanks for this post. It has been driving me nuts to figure how to make “LinksTreeView.FindNode(txtPath.Text);” work with populateondemand set to true.</p>
</blockquote>
<p>And many more.. &#8212; If I share all of them then this blog post will be too huge!</p>
<p>Here&#8217;s the Stats Summary which I would like to share with you:</p>
<p><a href="http://kiranpatils.files.wordpress.com/2011/06/statistics3.png"><img class="alignnone size-full wp-image-687" title="Statistics3" src="http://kiranpatils.files.wordpress.com/2011/06/statistics3.png" alt="" width="98" height="111" /></a></p>
<p><a href="http://kiranpatils.files.wordpress.com/2011/06/statistics11.png"><img class="alignnone size-full wp-image-689" title="Statistics1" src="http://kiranpatils.files.wordpress.com/2011/06/statistics11.png" alt="" width="828" height="454" /></a></p>
<h3><a href="http://kiranpatils.files.wordpress.com/2011/06/statistics21.png"><img class="alignnone size-full wp-image-691" title="Statistics2" src="http://kiranpatils.files.wordpress.com/2011/06/statistics21.png" alt="" width="828" height="467" /></a></h3>
<h3>Quick Facts</h3>
<ul>
<li>Total Posts : 131</li>
<li>Total Comments : 328</li>
<li>Total Categories : 44</li>
<li>Total Tags : 74</li>
<li>Total Visits 2007 : 438</li>
<li>Total Visits 2008 : 23,606</li>
<li>Total Visits 2009 : 46,991</li>
<li>Total Visits 2010 : 47,088</li>
<li>Total Visits 2011(till date) : 31,996</li>
<li>Average Visits per Day : 190</li>
</ul>
<p>Thanks to all who inspired and appreciated my work &#8211; Yes I am saying thanks to you &#8211; My friends,readers and daily visitors!</p>
<p>Happy Reading! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kiranpatils.wordpress.com/684/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kiranpatils.wordpress.com/684/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kiranpatils.wordpress.com/684/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kiranpatils.wordpress.com/684/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kiranpatils.wordpress.com/684/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kiranpatils.wordpress.com/684/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kiranpatils.wordpress.com/684/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kiranpatils.wordpress.com/684/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kiranpatils.wordpress.com/684/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kiranpatils.wordpress.com/684/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kiranpatils.wordpress.com/684/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kiranpatils.wordpress.com/684/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kiranpatils.wordpress.com/684/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kiranpatils.wordpress.com/684/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kiranpatils.wordpress.com&amp;blog=2255758&amp;post=684&amp;subd=kiranpatils&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kiranpatils.wordpress.com/2011/06/18/150000-blog-hits-and-growing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ff64a6ee0fb6ddd0abfb2d5560a6bc2c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kiran Patil</media:title>
		</media:content>

		<media:content url="http://kiranpatils.files.wordpress.com/2011/06/150000hits.jpg?w=150" medium="image">
			<media:title type="html">150000Hits</media:title>
		</media:content>

		<media:content url="http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif" medium="image">
			<media:title type="html">:)</media:title>
		</media:content>

		<media:content url="http://kiranpatils.files.wordpress.com/2011/06/statistics3.png" medium="image">
			<media:title type="html">Statistics3</media:title>
		</media:content>

		<media:content url="http://kiranpatils.files.wordpress.com/2011/06/statistics11.png" medium="image">
			<media:title type="html">Statistics1</media:title>
		</media:content>

		<media:content url="http://kiranpatils.files.wordpress.com/2011/06/statistics21.png" medium="image">
			<media:title type="html">Statistics2</media:title>
		</media:content>
	</item>
		<item>
		<title>My Article &#8211; Microsoft Certification QuickStart Guide</title>
		<link>http://kiranpatils.wordpress.com/2011/05/28/my-article-microsoft-certification-quickstart-guide/</link>
		<comments>http://kiranpatils.wordpress.com/2011/05/28/my-article-microsoft-certification-quickstart-guide/#comments</comments>
		<pubDate>Sat, 28 May 2011 04:11:16 +0000</pubDate>
		<dc:creator>kiranpatils</dc:creator>
				<category><![CDATA[Certifications]]></category>
		<category><![CDATA[Certif]]></category>

		<guid isPermaLink="false">http://kiranpatils.wordpress.com/?p=677</guid>
		<description><![CDATA[Challenge: First of all, apologize for not writing anything since last 3 months, 6 days. The reason behind not writing is that currently I&#8217;m focusing on learning,exploring and implementing new CMS named as Sitecore. So, now my challenge area has been changed from pure .NET/ASP.NET to Sitecore CMS . And as per my practice I&#8217;m [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kiranpatils.wordpress.com&amp;blog=2255758&amp;post=677&amp;subd=kiranpatils&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>Challenge:</h3>
<p>First of all, apologize for not writing anything since last <strong>3 months, 6 days</strong>. The reason behind not writing is that currently I&#8217;m focusing on learning,exploring and implementing new CMS named as <a href="http://www.sitecore.net/" target="_blank">Sitecore</a>. So, now my challenge area has been changed from pure .NET/ASP.NET to Sitecore CMS . And as per my practice I&#8217;m sharing my lessons learnt with the world. But not here it&#8217;s on my another blog which is here &#8212; <a href="http://sitecorebasics.wordpress.com/" target="_blank">http://sitecorebasics.wordpress.com/</a>. So, if you are also using Sitecore or wanted to know about it, please do visit my blog.</p>
<p>Anyways, Let&#8217;s come to main point.</p>
<p>After so many questions [In Person, on blog etc.] and motivation from friends. Before so long back I wrote an article on Microsoft Certification.</p>
<p>This article will guide you how to give Microsoft certification exams and it will answer all your questions about Microsoft certification exam.</p>
<h3>Solution:</h3>
<p>You can download it from here &#8212; <a href="http://kiranpatils.files.wordpress.com/2011/05/microsoft_certification_quickstart_guide.pdf">Microsoft_Certification_QuickStart_Guide</a>. Also you can have a quick look from below and if you find it interesting then only you can download <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<iframe class="scribd_iframe_embed" src="http://www.scribd.com/embeds/56501296/content?start_page=1&view_mode=list&access_key=key-ee32lpov9yc9d825wna" data-auto-height="true" scrolling="no" id="scribd_56501296" width="100%" height="500" frameborder="0"></iframe>
<div style="font-size:10px;text-align:center;width:100%"><a href="http://www.scribd.com/doc/56501296">View this document on Scribd</a></div>
<p>Eager to listen your views/suggestions/comments/feedback.</p>
<p>Happy Certification!</p>
<p>Worth to read :</p>
<p><a href="../2009/06/27/new-milestone-mcts-web70-528/" rel="nofollow" target="_blank">http://kiranpatils.wordpress.com/2009/06/27/new-milestone-mcts-web70-528/</a></p>
<p><a href="../2010/04/26/vs-20082010-certification-path/" rel="nofollow" target="_blank">http://kiranpatils.wordpress.com/2010/04/26/vs-20082010-certification-path/</a></p>
<p><a href="../2010/01/01/milestone-mcpd-exam-cleared/" rel="nofollow" target="_blank">http://kiranpatils.wordpress.com/2010/01/01/milestone-mcpd-exam-cleared/</a></p>
<p>3 months, 6 days</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kiranpatils.wordpress.com/677/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kiranpatils.wordpress.com/677/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kiranpatils.wordpress.com/677/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kiranpatils.wordpress.com/677/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kiranpatils.wordpress.com/677/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kiranpatils.wordpress.com/677/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kiranpatils.wordpress.com/677/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kiranpatils.wordpress.com/677/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kiranpatils.wordpress.com/677/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kiranpatils.wordpress.com/677/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kiranpatils.wordpress.com/677/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kiranpatils.wordpress.com/677/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kiranpatils.wordpress.com/677/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kiranpatils.wordpress.com/677/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kiranpatils.wordpress.com&amp;blog=2255758&amp;post=677&amp;subd=kiranpatils&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kiranpatils.wordpress.com/2011/05/28/my-article-microsoft-certification-quickstart-guide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ff64a6ee0fb6ddd0abfb2d5560a6bc2c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kiran Patil</media:title>
		</media:content>
	</item>
	</channel>
</rss>
