<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3425604646637005787</id><updated>2024-11-01T04:50:57.857-07:00</updated><category term="General"/><category term="My Articles"/><category term="ASP.NET"/><category term=".NET 4.0"/><category term="Visual Studio 2010"/><category term="C#"/><category term="SQL Server 2005"/><category term="codeproject"/><category term="Microsoft ASP.NET Web Site"/><category term="C# 4.0"/><category term="MVP"/><category term="Awards"/><category term="Debugging"/><category term="IntelliTrace"/><category term=".NET"/><category term="ASP.NET 4.0"/><category term="Enterprise Library 4.1"/><category term="IIS"/><category term="MSDN"/><category term="MVC"/><category term="MVC Framework"/><category term="Multithreaded Debugging"/><category term="Parallel Debugging"/><category term="RenderingMode"/><category term="VS 2010"/><category term="VSX"/><category term="VideoTutorial"/><category term="View State"/><category term="WPF"/><category term="Web Services"/><category term="code"/><title type='text'>Abhijit&#39;s Blog</title><subtitle type='html'>Abhijit&#39;s World  of .NET Blog</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>48</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-6900001194508367251</id><published>2010-06-09T03:07:00.000-07:00</published><updated>2010-06-09T03:07:41.434-07:00</updated><title type='text'>How to get list of all active HttpModules in ASP.NET?</title><content type='html'>Here is a quick tips to get the list of all active HTTPModules at runtime. We can get the list of all HttpModules from the web.config or from machine.config file. But, what we need to do if we want to get the list of all active HttpModules during runtime? Yes. We can easily get the details with the help of HttpApplication and HttpModuleCollection Class. If we quickly recall the IIS Process Request [One detailed Article], when a request reaches to worker Process from client browser, First of all Worker process is responsible to start and HttpRuntime by loading ISAPI filter. After that HttpRuntime load an HttpApplication object with the help of HttpApplicationFactory class. Each and every request should pass through the corresponding HTTPModule to reach to HTTPHandler, this list of module are configured by the HTTPApplication. Below is the code snippet by which we can get the list of active HttpModules.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: #fff2cc;&quot;&gt;//Get Application Instance from Current Content&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fff2cc;&quot;&gt;HttpApplication httpApps = HttpContext.Current.ApplicationInstance;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fff2cc;&quot;&gt;//Get List of modules in module collections&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fff2cc;&quot;&gt;HttpModuleCollection httpModuleCollections = httpApps.Modules;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fff2cc;&quot;&gt;Response.Write(&quot;Total Number Active HttpModule : &quot; + httpModuleCollections.Count.ToString() + &quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fff2cc;&quot;&gt;&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fff2cc;&quot;&gt;Response.Write(&quot;&lt;b&gt;List of Active Modules&lt;/b&gt;&quot; + &quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fff2cc;&quot;&gt;&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fff2cc;&quot;&gt;foreach (string activeModule inttpModuleCollections.AllKeys)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fff2cc;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fff2cc;&quot;&gt;Response.Write(activeModule + &quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fff2cc;&quot;&gt;&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #fff2cc;&quot;&gt;}&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/6900001194508367251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2010/06/how-to-get-list-of-all-active.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/6900001194508367251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/6900001194508367251'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2010/06/how-to-get-list-of-all-active.html' title='How to get list of all active HttpModules in ASP.NET?'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-4848581665776890206</id><published>2010-06-02T10:41:00.000-07:00</published><updated>2010-06-02T13:01:23.153-07:00</updated><title type='text'>“CompressionEnabled” Session in ASP.NET 4.0</title><content type='html'>ASP.NET 4.0 comes us with a new option for compressing the Session data with Out Process Session mode. To enabling this functionality we need to add &lt;strong&gt;“compressionEnabled=”true&lt;/strong&gt;” attribute with the SessionMode in web.config..&lt;br /&gt;
Here is the complete blog post...&lt;br /&gt;
&lt;a href=&quot;http://abhijitjana.net/2010/06/02/compressionenabled-session-in-asp-net-4-0/&quot;&gt;CompressionEnabled” Session in ASP.NET 4.0&lt;/a&gt;&lt;br /&gt;
&lt;iframe src=&quot;http://rcm.amazon.com/e/cm?t=abhsblo-20&amp;o=1&amp;p=13&amp;l=st1&amp;mode=books&amp;search=.net&amp;fc1=000000&amp;lt1=&amp;lc1=3366FF&amp;bg1=FFFFFF&amp;f=ifr&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; width=&quot;468&quot; height=&quot;60&quot; border=&quot;0&quot; frameborder=&quot;0&quot; style=&quot;border:none;&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/4848581665776890206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2010/06/compressionenabled-session-in-aspnet-40.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/4848581665776890206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/4848581665776890206'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2010/06/compressionenabled-session-in-aspnet-40.html' title='“CompressionEnabled” Session in ASP.NET 4.0'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-5597031417842136784</id><published>2010-05-17T19:11:00.000-07:00</published><updated>2010-06-02T12:55:27.035-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET 4.0"/><category scheme="http://www.blogger.com/atom/ns#" term="ASP.Net"/><category scheme="http://www.blogger.com/atom/ns#" term="asp.net 4.0"/><category scheme="http://www.blogger.com/atom/ns#" term="codeproject"/><category scheme="http://www.blogger.com/atom/ns#" term="RenderingMode"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio 2010"/><title type='text'>CSS Friendly Menu Control in ASP.NET 4.0</title><content type='html'>&lt;a href=&quot;http://abhijitjana.net/&quot; rel=&quot;tag&quot; style=&quot;display: none;&quot;&gt;CodeProject&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2010/05/menucss1.png&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2010/05/menucss2.png&quot;&gt;&lt;/a&gt;It is very much easier to apply &lt;em&gt;CSS&lt;/em&gt; when we have &lt;em&gt;ul,li&lt;/em&gt; elements as the &lt;em&gt;HTML&lt;/em&gt; content. If we look into &lt;em&gt;ASP.NET Menu Control&lt;/em&gt; till Version 3.5, its render as &lt;span style=&quot;color: navy;&quot;&gt;Table-TR-TD&lt;/span&gt; Tag. Though Table/Tr/Td is quite useful to display tabular data but sometime creates a big problem when we need to do more work with &lt;span style=&quot;color: navy;&quot;&gt;&lt;em&gt;CSS&lt;/em&gt;&lt;/span&gt;. To overcome this problem we generally used&lt;span style=&quot;color: #003366;&quot;&gt;&lt;em&gt; CSS Friendly adapter&lt;/em&gt; &lt;/span&gt;to render the ASP.NET Control in&lt;span style=&quot;color: navy;&quot;&gt;&lt;strong&gt; &lt;/strong&gt;ul/li&lt;/span&gt; mode.&lt;br /&gt;
&lt;br /&gt;
ASP.NET 4.0 makes the things easier for web developer by providing &lt;span style=&quot;color: navy;&quot;&gt;&lt;em&gt;&quot;RenderingMode&quot;&lt;/em&gt;&lt;/span&gt; properties. Here we can specify &lt;em&gt;RenderMode&lt;/em&gt; of a &lt;em&gt;ASP.NET Menu control. &lt;/em&gt;Which define the what will be the HTML Render Content Type. Bydefault mode is &lt;em&gt;&quot;List&quot;&lt;/em&gt; which means control will be render as &lt;em&gt;&lt;span style=&quot;color: #003366;&quot;&gt;ul/li&lt;/span&gt;&lt;/em&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2010/05/menucss0.png&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://abhijitjana.files.wordpress.com/2010/05/menucss0.png&quot; title=&quot;MenuCss0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Read Complete Article @ Abhijit&#39;s World Of .NET &lt;br /&gt;
&lt;a href=&quot;http://abhijitjana.net/2010/05/18/css-friendly-menu-control-in-asp-net-4-0/&quot;&gt;CSS Friendly Menu Control in ASP.NET 4.0 &lt;/a&gt;&lt;br /&gt;
&lt;a class=&quot;google-buzz-button&quot; data-button-style=&quot;normal-count&quot; data-locale=&quot;en_IN&quot; data-url=&quot;http://abhijitjana.blogspot.com/2010/05/css-friendly-menu-control-in-aspnet-40.html&quot; href=&quot;http://www.google.com/buzz/post&quot; title=&quot;Post on Google Buzz&quot;&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/5597031417842136784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2010/05/css-friendly-menu-control-in-aspnet-40.html#comment-form' title='27 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/5597031417842136784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/5597031417842136784'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2010/05/css-friendly-menu-control-in-aspnet-40.html' title='CSS Friendly Menu Control in ASP.NET 4.0'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>27</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-3933817284673305417</id><published>2010-05-15T22:09:00.000-07:00</published><updated>2010-05-22T09:35:16.529-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET 4.0"/><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET 4.0"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="code"/><category scheme="http://www.blogger.com/atom/ns#" term="codeproject"/><category scheme="http://www.blogger.com/atom/ns#" term="My Articles"/><category scheme="http://www.blogger.com/atom/ns#" term="View State"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio 2010"/><title type='text'>ViewState Control in ASP.NET 4.0</title><content type='html'>&lt;a style=&quot;display:none;&quot; rel=&quot;tag&quot; href=&quot;http://abhijitjana.net&quot;&gt;CodeProject&lt;/a&gt;&lt;br/&gt;View State is one of the most important and useful client side state management mechanisms. It can store the page value at the time of post back (Sending and Receiving information from Server) of your page. ASP.NET pages provide the View State property as a built-in structure for automatically storing values between multiple requests for the same page.&lt;br/&gt;&lt;br/&gt;we generally used &lt;em&gt;“EnableViewState”&lt;/em&gt; Properties for both Page Level and Server Control Level to maintain the view state. Till ASP.NET 3.5 Version, Page Level view state control treat as highest priorities. Which means If we set &lt;em&gt;EnableViewState= “False”&lt;/em&gt; in page level that will automatically derived by all the server side control. In that case if we set &lt;em&gt;“EnableViewState=”True””&lt;/em&gt; for any server side control will treat as false, as we have defined them “False” in Page Level.Here is one complete article on &lt;a href=&quot;http://www.codeproject.com/KB/aspnet/BegViewState.aspx&quot;&gt;ASP.NET 2.0/3.5 View State &lt;/a&gt;, which may helpful for you&lt;br/&gt;&lt;br/&gt;Now, let’s have a look into the changes in ViewState Control in ASP.NET 4.0. There is a massive change in View State Control in ASP.NET 4.0 which is very much helpful for developer also. Asp.net 4.0 added a new property to Page object and server controls called ViewStateMode.&lt;a name=&#39;more&#39;&gt;&lt;/a&gt; ViewStateMode properties having 3 values&lt;br/&gt;&lt;br/&gt;&lt;span style=&quot;color:#000080;&quot;&gt;&lt;span style=&quot;text-decoration:underline;&quot;&gt;1. Enabled&lt;/span&gt; &lt;strong&gt;:&lt;/strong&gt;&lt;/span&gt; This value will enable the view state for page level or control level. This is the default value for the Page object.&lt;br/&gt;&lt;br/&gt;&lt;span style=&quot;color:#000080;&quot;&gt;&lt;span style=&quot;text-decoration:underline;&quot;&gt;2. Disabled:&lt;/span&gt; &lt;/span&gt;This value will disable the viewstate for both page level and Control Level&lt;br/&gt;&lt;br/&gt;&lt;span style=&quot;color:#000080;&quot;&gt;&lt;span style=&quot;text-decoration:underline;&quot;&gt;3. Inherit :&lt;/span&gt;&lt;/span&gt; This value will make the control to inherit the setting of the parent. This is the default value for the server control.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://abhijitjana.files.wordpress.com/2010/05/viewstate1.png&quot; alt=&quot;&quot; /&gt;&lt;br/&gt;&lt;br/&gt;These properties and their behaviors indicate the server control viewstates are totally independents on Page Level View State. Which means, &lt;em&gt;ViewStateMode=”Disabled”&lt;/em&gt; will disabled the viewstate for all the control for that pages by default, but if we explicitly specify the page level control &lt;em&gt;viewstatemode= ”Enabled”,&lt;/em&gt; then only that control viewstate will be maintained during the post back. Let&#39;s check few scenarios of ViewStateMode in ASP.NET 4.0&lt;br/&gt;&lt;br/&gt;We have a sample asp.net web application and code snippet is given below.&lt;br/&gt;&lt;br/&gt;[sourcecode language=&quot;html&quot;]&lt;br/&gt;&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot;  ViewStateMode=&amp;quot;Disabled&amp;quot; AutoEventWireup=&amp;quot;true&amp;quot; CodeFile=&amp;quot;Default.aspx.cs&amp;quot; Inherits=&amp;quot;_Default&amp;quot; %&amp;gt;&lt;br/&gt;&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;&lt;br/&gt;&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&amp;gt;&lt;br/&gt;&amp;lt;head runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br/&gt;    &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;&lt;br/&gt;&amp;lt;/head&amp;gt;&lt;br/&gt;&amp;lt;body&amp;gt;&lt;br/&gt;    &amp;lt;form id=&amp;quot;form1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br/&gt;    &amp;lt;div&amp;gt;&lt;br/&gt;    &amp;lt;asp:Label ID=&amp;quot;ViewStateDemoLebel1&amp;quot;  ViewStateMode=&amp;quot;Enabled&amp;quot;  runat=&amp;quot;server&amp;quot;&amp;gt;&amp;lt;/asp:Label&amp;gt;&lt;br/&gt;     &amp;lt;asp:Button ID=&amp;quot;Button1&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;quot;Button&amp;quot; onclick=&amp;quot;Button1_Click&amp;quot; /&amp;gt;&lt;br/&gt;    &amp;lt;/div&amp;gt;&lt;br/&gt;    &amp;lt;/form&amp;gt;&lt;br/&gt;&amp;lt;/body&amp;gt;&lt;br/&gt;&amp;lt;/html&amp;gt;&lt;br/&gt;[/sourcecode]&lt;br/&gt;&lt;br/&gt;In Code Behind :&lt;br/&gt;&lt;br/&gt;[sourcecode language=&quot;csharp&quot;]&lt;br/&gt;protected void Page_Load(object sender, EventArgs e)&lt;br/&gt;    {&lt;br/&gt;        if (!Page.IsPostBack)&lt;br/&gt;        {&lt;br/&gt;            ViewStateDemoLebel1.Text = &amp;quot;Default Value of Control&amp;quot;;&lt;br/&gt;        }&lt;br/&gt;    }&lt;br/&gt;[/sourcecode]&lt;br/&gt;&lt;br/&gt;Now, let&#39;s explore the scenarios of ViewStateMode&lt;br/&gt;&lt;h3&gt;&lt;span style=&quot;color:#000080;&quot;&gt;Scenario 1 : Both Page and Control Level ViewStateMode=”Disabled”&lt;/span&gt;&lt;/h3&gt;&lt;br/&gt;[sourcecode language=&quot;html&quot;]&lt;br/&gt;&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot;  ViewStateMode=&amp;quot;Disabled&amp;quot; AutoEventWireup=&amp;quot;true&amp;quot; CodeFile=&amp;quot;Default.aspx.cs&amp;quot; Inherits=&amp;quot;_Default&amp;quot; %&amp;gt;&lt;br/&gt;&amp;lt;asp:Label ID=&amp;quot;ViewStateDemoLebel1&amp;quot;  ViewStateMode=&amp;quot;Disbaled&amp;quot;  runat=&amp;quot;server&amp;quot;&amp;gt;&amp;lt;/asp:Label&amp;gt;&lt;br/&gt;[/sourcecode]&lt;br/&gt;&lt;br/&gt;If we have ViewStateMode Disabled for both the page and control level and we run the program, first time label text will be&lt;em&gt; “Default Value of Control”&lt;/em&gt; . But After Click on Button1, means after postback “&lt;em&gt;ViewStateDemoLebel&lt;/em&gt;” value will be Blank. Because we have disabled the viewstate mode properties for both control and page level.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://abhijitjana.files.wordpress.com/2010/05/viewstate2.png&quot; alt=&quot;&quot; /&gt;&lt;br/&gt;&lt;h3&gt;&lt;span style=&quot;color:#000080;&quot;&gt;Scenario 2 : Page Level ViewStateMode=”Disabled” and Control Level ViewStateMode=”Enabled”&lt;/span&gt;&lt;/h3&gt;&lt;br/&gt;[sourcecode language=&quot;html&quot;]&lt;br/&gt;&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot;  ViewStateMode=&amp;quot;Disabled&amp;quot; AutoEventWireup=&amp;quot;true&amp;quot; CodeFile=&amp;quot;Default.aspx.cs&amp;quot; Inherits=&amp;quot;_Default&amp;quot; %&amp;gt;&lt;br/&gt;&amp;lt;asp:Label ID=&amp;quot;ViewStateDemoLebel1&amp;quot;  ViewStateMode=&amp;quot;Enabled&amp;quot;  runat=&amp;quot;server&amp;quot;&amp;gt;&amp;lt;/asp:Label&amp;gt;&lt;br/&gt;[/sourcecode]&lt;br/&gt;&lt;br/&gt;In this case, after PostBack ViewStateDemoLebel1 value will be the &lt;em&gt;“Default Value of Control”&lt;/em&gt; as ViewStateMode set to Enabled. So, in this point we can understnad that page level viewstatemode is totally independent on the server control level ViewStateMode.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://abhijitjana.files.wordpress.com/2010/05/viewstate3.png&quot; alt=&quot;&quot; /&gt;&lt;br/&gt;&lt;h3&gt;&lt;span style=&quot;color:#000080;&quot;&gt;Scenario 3 : Page Level ViewStateMode=”Enabled” and Control Level ViewStateMode=”Disabled”&lt;/span&gt;&lt;/h3&gt;&lt;br/&gt;To demonstrate the scenario, I have added one more label control named ViewStateDemoLebel2 in aspx page and default value of that control is &lt;em&gt;&quot;Default Value of Control 2”. &lt;/em&gt;Below is the code snippet for that aspx page.&lt;br/&gt;&lt;br/&gt;[sourcecode language=&quot;html&quot;]&lt;br/&gt;&amp;lt;asp:Label ID=&amp;quot;ViewStateDemoLebel1&amp;quot;  ViewStateMode=&amp;quot;Disabled&amp;quot;  runat=&amp;quot;server&amp;quot;&amp;gt;&amp;lt;/asp:Label&amp;gt;&lt;br/&gt; &amp;lt;asp:Label ID=&amp;quot;ViewStateDemoLebel2&amp;quot;   runat=&amp;quot;server&amp;quot;&amp;gt;&amp;lt;/asp:Label&amp;gt;&lt;br/&gt;&amp;lt;asp:Button ID=&amp;quot;Button1&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;quot;Button&amp;quot; onclick=&amp;quot;Button1_Click&amp;quot; /&amp;gt;&lt;br/&gt;     [/sourcecode]&lt;br/&gt;&lt;br/&gt;Here, PageLevel ViewStateMode is enabled, and we explicitly defined &lt;em&gt;ViewStateMode=&quot;Disabled&quot;&lt;/em&gt; for &lt;em&gt;ViewStateDemoLebel1&lt;/em&gt;. so as a result, after post back we have the value of control 2.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://abhijitjana.files.wordpress.com/2010/05/viewstate4.png&quot; alt=&quot;&quot; /&gt;&lt;br/&gt;&lt;h3&gt;&lt;span style=&quot;color:#000080;&quot;&gt;Scenario 4 : Page Level ViewStateMode=”Enabled” and Control Level ViewStateMode=”Inherited”&lt;/span&gt;&lt;/h3&gt;&lt;br/&gt;[sourcecode language=&quot;html&quot;]&lt;br/&gt;&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot;  ViewStateMode=&amp;quot;Enabled&amp;quot; AutoEventWreup=&amp;quot;true&amp;quot; CodeFile=&amp;quot;Default.aspx.cs&amp;quot; Inherits=&amp;quot;_Default&amp;quot; %&amp;gt;&lt;br/&gt;&amp;lt;asp:Label ID=&amp;quot;ViewStateDemoLebel1&amp;quot; ViewStateMode=&amp;quot;Inherite&amp;quot;    ViewStateMode=&amp;quot;Enabled&amp;quot;  runat=&amp;quot;server&amp;quot;&amp;gt;&amp;lt;/asp:Label&amp;gt;&lt;br/&gt;[/sourcecode]&lt;br/&gt;&lt;br/&gt;In this case, child control automatically ineherite the properties of page level. So for ViewStateDemoLebel1 control viewstatemode will be “&lt;em&gt;enabled&lt;/em&gt;” as it used “&lt;em&gt;Inherit&lt;/em&gt;” properties and Page Level ViewStateMode Set to enabled.&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2010/05/viewstate51.png&quot;&gt;&lt;img title=&quot;ViewState5&quot; src=&quot;http://abhijitjana.files.wordpress.com/2010/05/viewstate51.png&quot; alt=&quot;&quot; width=&quot;460&quot; height=&quot;151&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2010/05/viewstate51.png&quot;&gt;&lt;/a&gt;&lt;br/&gt;&lt;h3&gt;&lt;span style=&quot;color:#000080;&quot;&gt;&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2010/05/viewstate51.png&quot;&gt;&lt;/a&gt;Summary :&lt;/span&gt;&lt;/h3&gt;&lt;br/&gt;In this article we have seen How ViewStateMode properties can be used in ASP.NET 4.0 to take a better control on PageLevel and control Level View State. I have explained most of the scenarios of ViewStateMode. Hope you have enjoyed the article. Cheers!&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fabhijitjana.net%2f2010%2f05%2f16%2fviewstate-control-in-asp-net-4-0%2f&quot;&gt;&lt;img src=&quot;http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fabhijitjana.net%2f2010%2f05%2f16%2fviewstate-control-in-asp-net-4-0%2f&quot; border=&quot;0&quot; alt=&quot;kick it on DotNetKicks.com&quot; /&gt;&lt;/a&gt;&lt;br/&gt;&lt;a rev=&quot;vote-for&quot; href=&quot;http://dotnetshoutout.com/ViewState-Control-in-ASPNET-40-Abhijits-World-of-NET&quot;&gt;&lt;img style=&quot;border:0;&quot; src=&quot;http://dotnetshoutout.com/image.axd?url=http%3A%2F%2Fabhijitjana.net%2F2010%2F05%2F16%2Fviewstate-control-in-asp-net-4-0%2F&quot; alt=&quot;Shout it&quot; /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/3933817284673305417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2010/05/viewstate-control-in-aspnet-40.html#comment-form' title='19 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/3933817284673305417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/3933817284673305417'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2010/05/viewstate-control-in-aspnet-40.html' title='ViewState Control in ASP.NET 4.0'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>19</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-2295818468086244112</id><published>2010-05-09T23:32:00.000-07:00</published><updated>2010-05-22T09:35:16.516-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET 4.0"/><category scheme="http://www.blogger.com/atom/ns#" term="codeproject"/><category scheme="http://www.blogger.com/atom/ns#" term="Debugging"/><category scheme="http://www.blogger.com/atom/ns#" term="General"/><category scheme="http://www.blogger.com/atom/ns#" term="IntelliTrace"/><category scheme="http://www.blogger.com/atom/ns#" term="VideoTutorial"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio 2010"/><category scheme="http://www.blogger.com/atom/ns#" term="VS 2010"/><title type='text'>IntelliTrace Debugging - Video Demo</title><content type='html'>Recently I have published one complete tutorial on &lt;span style=&quot;text-decoration:underline;&quot;&gt;&lt;span style=&quot;color:#000080;&quot;&gt;Visual Studio 2010 Debugging&lt;/span&gt;&lt;/span&gt;. Which covered almost all main features of debugging in Visual Studio 2010 like &lt;span style=&quot;color:#000080;&quot;&gt;&lt;span style=&quot;text-decoration:underline;&quot;&gt;Basic of Breakpoints,&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;text-decoration:underline;&quot;&gt; &lt;span style=&quot;color:#000080;&quot;&gt;breakpoint labeling, data tips, multithreaded debugging, and parallel debugging and IntelliTrace debugging&lt;/span&gt;&lt;/span&gt;. You can read the complete article from &lt;a title=&quot;Mastering Debugging in Visual Studio 2010&quot; href=&quot;http://abhijitjana.net/2010/05/07/article-published-mastering-in-visual-studio-2010-debugging/&quot;&gt;&lt;strong&gt;My Blog&lt;/strong&gt;&lt;/a&gt; or from &lt;a href=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging.aspx&quot;&gt;&lt;strong&gt;CodeProject&lt;/strong&gt;&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;While preparing the article I had created one small video on IntelliTrace Debugging which will show you the demo of using IntelliTrace Debugging.  Hope you will enjoy this video.&lt;br/&gt;&lt;p style=&quot;text-align:center;&quot;&gt;&lt;object height=&quot;350&quot; width=&quot;425&quot;&gt;&lt;br/&gt;      &lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/1YAjnMKpw0I&quot;&gt;&lt;br/&gt;      &lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;br/&gt;      &lt;embed src=&quot;http://www.youtube.com/v/1YAjnMKpw0I;rel=0&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; height=&quot;350&quot; width=&quot;425&quot;&gt;&lt;br/&gt;      &lt;/object&gt;&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;text-align:right;&quot;&gt;&lt;a href=&quot;http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fabhijitjana.net%2f2010%2f05%2f10%2fintellitrace-debugging-video-demo%2f&quot;&gt;&lt;img src=&quot;http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fabhijitjana.net%2f2010%2f05%2f10%2fintellitrace-debugging-video-demo%2f&quot; border=&quot;0&quot; alt=&quot;kick it on DotNetKicks.com&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/2295818468086244112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2010/05/intellitrace-debugging-video-demo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/2295818468086244112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/2295818468086244112'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2010/05/intellitrace-debugging-video-demo.html' title='IntelliTrace Debugging - Video Demo'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-4466161096025950267</id><published>2010-05-07T07:45:00.000-07:00</published><updated>2010-05-22T09:35:15.879-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET 4.0"/><category scheme="http://www.blogger.com/atom/ns#" term="asp.net 4.0"/><category scheme="http://www.blogger.com/atom/ns#" term="C# 4.0"/><category scheme="http://www.blogger.com/atom/ns#" term="Debugging"/><category scheme="http://www.blogger.com/atom/ns#" term="General"/><category scheme="http://www.blogger.com/atom/ns#" term="IntelliTrace"/><category scheme="http://www.blogger.com/atom/ns#" term="Multithreaded Debugging"/><category scheme="http://www.blogger.com/atom/ns#" term="My Articles"/><category scheme="http://www.blogger.com/atom/ns#" term="Parallel Debugging"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio 2010"/><title type='text'>Mastering in Visual Studio 2010 Debugging</title><content type='html'>Visual Studio IDE gives us a lot of tools to debug our application. Sometimes debugging activity takes a very long time to identify the root cause. But VS IDE provides a lot of handy tools which help to debug code in a better way. Debugger features include error listing, adding breakpoints, visualize the program flow, control the flow of execution, data tips, watch variables and many more. Many of them are very common for many developers and many are not. In this article, I have discussed all the important features of VS IDE for debugging like Breakpoint, labeling and saving breakpoints, putting conditions and filter on &lt;strong&gt;breakpoints&lt;/strong&gt;, &lt;strong&gt;DataTips&lt;/strong&gt;, &lt;strong&gt;Watch windows&lt;/strong&gt;, &lt;strong&gt;Multithreaded debugging&lt;/strong&gt;, &lt;strong&gt;Thread window&lt;/strong&gt;, overview of &lt;strong&gt;parallel debugging&lt;/strong&gt; and overview of &lt;strong&gt;IntelliTrace Debugging&lt;/strong&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt; &lt;br/&gt;&lt;strong&gt;Note :&lt;/strong&gt; This article is also Published @ &lt;a href=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging.aspx&quot;&gt;CodeProject&lt;/a&gt;&lt;br/&gt;&lt;h2&gt;Table of Contents&lt;/h2&gt;&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0001&quot;&gt;Introduction&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0002&quot;&gt;How to Start?&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0003&quot;&gt;Breakpoints&lt;/a&gt;&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0004&quot;&gt;Debugging with Breakpoints&lt;/a&gt;&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0005&quot;&gt;Step Over&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0006&quot;&gt;Step Into&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0007&quot;&gt;Step Out &lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0008&quot;&gt;Continue&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0009&quot;&gt;Set Next Statement &lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0010&quot;&gt;Show Next Statement &lt;/a&gt;&lt;/li&gt;&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0011&quot;&gt;Labeling in Break Point&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0012&quot;&gt;Conditional Breakpoint&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0013&quot;&gt;Import / Export Breakpoint&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0014&quot;&gt;Breakpoint Hit Count&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0015&quot;&gt;Breakpoint When Hit&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0016&quot;&gt;Breakpoint Filter&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0017&quot;&gt;Data Tip&lt;/a&gt;&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0018&quot;&gt;Pin Inspect Value During Debugging&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0019&quot;&gt;Drag-Drop Pin Data Tip&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0020&quot;&gt;Adding Comments&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0021&quot;&gt;Last Session Debugging Value &lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0022&quot;&gt;Import Export Data Tips&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0023&quot;&gt;Change Value Using Data Tips&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0024&quot;&gt;Clear Data Tips&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0025&quot;&gt;Watch Windows&lt;/a&gt;&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0026&quot;&gt;Locals&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0027&quot;&gt;Autos&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0028&quot;&gt;Watch&lt;/a&gt;&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0029&quot;&gt;Creating Object ID&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;&lt;/li&gt;&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0030&quot;&gt;Immediate Window&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0031&quot;&gt;Call Stack&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0032&quot;&gt;Debugging Multithreaded Program&lt;/a&gt;&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0033&quot;&gt;Exploring Threads Window&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0034&quot;&gt;Flag Just My Code &lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0035&quot;&gt;Break Point Filter - Multithread Debugging&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0036&quot;&gt;Debugging Parallel Program&lt;/a&gt;&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0037&quot;&gt;Parallel Task and Parallel Stacks&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0041&quot;&gt;Debugging with IntelliTrace&lt;/a&gt;&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0041&quot;&gt;Overview&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0060&quot;&gt;Mapping with IntelliTrace&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0061&quot;&gt;Filter IntelliTrace Data&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0038&quot;&gt;Useful Shortcut Keys For VS Debugging&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0039&quot;&gt;Further Study&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;#heading0040&quot;&gt;Summary&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;&lt;h2&gt;&lt;a id=&quot;heading0001&quot; name=&quot;heading0001&quot;&gt;Introduction&lt;/a&gt;&lt;/h2&gt;&lt;br/&gt;In the software development life cycle, testing and defect fixing take more time than actually code writing. In general, debugging is a process of finding out defects in the program and fixing them. Defect fixing comes after the debugging, or you can say they are co-related. When you have some defects in your code, first of all you need to identify the root cause of the defect, which is called the debugging. When you have the root cause, you can fix the defect to make the program behavior as expected.&lt;br/&gt;&lt;br/&gt;Now how to debug the code? Visual Studio IDE gives us a lot of tools to debug our application. Sometimes debugging activity takes a very long time to identify the root cause. But VS IDE provides a lot of handy tools which help to debug code in a better way. Debugger features include error listing, adding breakpoints, visualize the program flow, control the flow of execution, data tips, watch variables and many more. Many of them are very common for many developers and many are not. In this article, I have discussed all the important features of VS IDE for debugging like Breakpoint, labeling and saving breakpoints, putting conditions and filter on breakpoints, DataTips, Watch windows, Multithreaded debugging, Thread window, overview of parallel debugging and overview of IntelliTrace Debugging. I hope this will be very helpful for beginners to start up with and for becoming an expert on debugging. Please note, targeted Visual Studio version is Visual Studio 2010. Many things are common in older versions, but many features such as Labeling breakpoint, Pinned DataTip, Multithreaded Debugging, Parallel debugging and IntelliTrace are added in VS 2010. Please provide your valuable suggestions and feedback to improve my article.&lt;br/&gt;&lt;h2&gt;&lt;a id=&quot;heading0002&quot; name=&quot;heading0002&quot;&gt;How to Start?&lt;/a&gt;&lt;/h2&gt;&lt;br/&gt;You can start debugging from the Debug menu of VS IDE. From the Debug Menu, you can select &quot;Start Debugging&quot; or just press F5 to start the program. If you have placed breakpoints in your code, then execution will begin automatically.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug1.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;325&quot; height=&quot;163&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Start Debugging&lt;/div&gt;&lt;br/&gt;There is another way to start the debugging by &quot;Attach Process&quot;. Attach process will start a debug session for the application. Mainly we are very much familiar with the attach process debugging for ASP.NET Web Application. I have published two different articles on the same on CodeProject. You may have a look into this.&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;http://www.codeproject.com/KB/aspnet/ProcessAttache.aspx&quot;&gt;Debug Your ASP.NET Application that Hosted on IIS&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;http://www.codeproject.com/KB/aspnet/IISRemoteDebugging.aspx&quot;&gt;Remote IIS Debugging: Debug your ASP.NET Application which is hosted on &quot;Remote IIS Server&quot; &lt;/a&gt;&lt;/li&gt;&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;We generally start debugging any application just by putting breakpoint on code where we think the problem may occur. So, let’s start with breakpoints.&lt;br/&gt;&lt;h2&gt;&lt;a id=&quot;heading0003&quot; name=&quot;heading0003&quot;&gt;Breakpoints&lt;/a&gt;&lt;/h2&gt;&lt;br/&gt;Breakpoint is used to notify debugger where and when to pause the execution of program. You can put a breakpoint in code by clicking on the side bar of code or by just pressing F9 at the front of the line. So before keeping a breakpoint, you should know what is going wrong in your code and where it has to be stopped. When the debugger reaches the breakpoint, you can check out what&#39;s going wrong within the code by using a different debugging tool.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug2_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;305&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Set Breakpoint&lt;/div&gt;&lt;br/&gt;&lt;h3&gt;&lt;a id=&quot;heading0004&quot; name=&quot;heading0004&quot;&gt;Debugging with Breakpoints&lt;/a&gt;&lt;/h3&gt;&lt;br/&gt;You have already set a breakpoint in your code where you want to pause the execution. And now start the program by pressing &lt;strong&gt;&quot;F5&quot;&lt;/strong&gt;. When the program reaches the breakpoint, execution will automatically pause. Now you have several options to check your code. After hitting the breakpoint, breakpoint line will show as yellow color which indicates that this is the line which will execute next.&lt;br/&gt;&lt;br/&gt;Now you have several commands available in break mode, using which you can proceed for further debugging.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug4.png&quot; alt=&quot;&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Breakpoint Toolbar&lt;/div&gt;&lt;br/&gt;&lt;h4&gt;&lt;a id=&quot;heading0005&quot; name=&quot;heading0005&quot;&gt;Step Over&lt;/a&gt;&lt;/h4&gt;&lt;br/&gt;After debugger hits the breakpoint, you may need to execute the code line by line. &lt;strong&gt;&quot;Step Over&quot; [ F10 ]&lt;/strong&gt; command is used to execute the code line by line. This will execute the currently highlighted line and then pause. If you select F10 while a method call statement is highlighted, the execution will stop after the next line of the calling statement. Step Over will execute the entire method at a time.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug51.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;554&quot; height=&quot;247&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Step Over - F10&lt;/div&gt;&lt;br/&gt;&lt;h4&gt;&lt;a id=&quot;heading0006&quot; name=&quot;heading0006&quot;&gt;Step Into&lt;/a&gt;&lt;/h4&gt;&lt;br/&gt;This is similar to Step Over. The only difference is, if the current highlighted section is any methods call, the debugger will go inside the method. Shortcut key for Step Into is &lt;strong&gt;&quot;F11&quot;&lt;/strong&gt;.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug52.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;444&quot; height=&quot;249&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Step Into - F11&lt;/div&gt;&lt;br/&gt;&lt;h4&gt;&lt;a id=&quot;heading0007&quot; name=&quot;heading0007&quot;&gt;Step Out &lt;/a&gt;&lt;/h4&gt;&lt;br/&gt;This is related when you are debugging inside a method. If you press the &lt;strong&gt;Shift - F11&lt;/strong&gt; within the current method, then the execution will complete the execution of the method and will pause at the next statement from where it called.&lt;br/&gt;&lt;h4&gt;&lt;a id=&quot;heading0008&quot; name=&quot;heading0008&quot;&gt;Continue&lt;/a&gt;&lt;/h4&gt;&lt;br/&gt;It&#39;s like run your application again. It will continue the program flow unless it reaches the next breakpoint. The shortcut key for continue is &lt;strong&gt;&quot;F5&quot;&lt;/strong&gt;.&lt;br/&gt;&lt;h4&gt;&lt;a id=&quot;heading0009&quot; name=&quot;heading0009&quot;&gt;Set Next Statement &lt;/a&gt;&lt;/h4&gt;&lt;br/&gt;This is quite an interesting feature. Set Next Statement allows you to&lt;strong&gt; change the path of execution&lt;/strong&gt; of program while debugging. If your program paused in a particular line and you want to change the execution path,&lt;strong&gt; go to the particular line&lt;/strong&gt;, &lt;strong&gt;Right click&lt;/strong&gt; on the line and select &lt;strong&gt;&quot;Set Next Statement&lt;/strong&gt;&quot; from the context menu. You will see, execution comes to that line without executing the previous lines of code. This is quite useful when you found some line of code may causing breaking your application and you don’t want to break at that time. Shortcut key for Set Next Statement is &lt;strong&gt;Ctrl + Shit + F10&lt;/strong&gt;.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug3_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;391&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Set Next Statement&lt;/div&gt;&lt;br/&gt;&lt;h4&gt;&lt;a id=&quot;heading0010&quot; name=&quot;heading0010&quot;&gt;Show Next Statement [ Ctrl+* ] &lt;/a&gt;&lt;/h4&gt;&lt;br/&gt;This line is marked as a yellow arrow. These lines indicate that it will be executed next when we continue the program.&lt;br/&gt;&lt;h3&gt;&lt;a id=&quot;heading0011&quot; name=&quot;heading0011&quot;&gt;Labeling in Break Point&lt;/a&gt;&lt;/h3&gt;&lt;br/&gt;This is the new feature in VS 2010. This is used for better managing breakpoints. It enables us to better group and filter breakpoints. It&#39;s kind of categorization of breakpoints. If you are having different types of breakpoints which are related with a particular functionality, you can give their name and can enable, disable, filter based on the requirements. To understand the whole functionality, let&#39;s assume that you have the below code block which you want to debug.&lt;br/&gt;&lt;br/&gt;[sourcecode language=&quot;csharp&quot;]&lt;br/&gt;class Program&lt;br/&gt;{&lt;br/&gt;static void Main(string[] args)&lt;br/&gt;{&lt;br/&gt;string[] strNames = { &amp;quot;Name1&amp;quot;, &amp;quot;Name2&amp;quot;, &amp;quot;Name3&amp;quot;, &amp;quot;Name4&amp;quot;, &amp;quot;Name5&amp;quot;, &amp;quot;Name6&amp;quot; };&lt;br/&gt;&lt;br/&gt;foreach (string name in strNames)&lt;br/&gt;{&lt;br/&gt;Console.WriteLine(name); // BreakPoint&lt;br/&gt;}&lt;br/&gt;int temp = 4;&lt;br/&gt;for (int i = 1; i &amp;amp;lt;= 10; i++)&lt;br/&gt;{&lt;br/&gt;if (i &amp;amp;gt; 6)&lt;br/&gt;temp = 5;&lt;br/&gt;}&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;public static void Method1()&lt;br/&gt;{&lt;br/&gt;Console.WriteLine(&amp;quot;Break Point in Method1&amp;quot;); // BreakPoint&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;public static void Method2()&lt;br/&gt;{&lt;br/&gt;Console.WriteLine(&amp;quot;Break Point in Method2&amp;quot;); // BreakPoint&lt;br/&gt;Console.WriteLine(&amp;quot;Break Point in Method2&amp;quot;); // BreakPoint&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;public static void Method3()&lt;br/&gt;{&lt;br/&gt;Console.WriteLine(&amp;quot;Break Point in Method3&amp;quot;); // Breakpoint&lt;br/&gt;}&lt;br/&gt;}&lt;br/&gt;[/sourcecode]&lt;br/&gt;&lt;br/&gt;If you run the program, execution will pause on the first breakpoint. Now see the below picture, where you have the list of breakpoints.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug11_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;187&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Breakpoint List&lt;/div&gt;&lt;br/&gt;In the given picture label column in blank. Now, see how you can set the label on break point and what is the use of it. To set label for any breakpoint, you just need to right click on the breakpoint symbol on the particular line or you can set it directly from breakpoint window.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug12_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;255&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Setting Breakpoint Label&lt;/div&gt;&lt;br/&gt;&lt;strong&gt;Right Click&lt;/strong&gt; on Breakpoint, Click on the &lt;strong&gt;Edit Labels&lt;/strong&gt; link, you can add the label for each and every breakpoints. As per the sample code, I have given very simple understandable names for all the breakpoints.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug13.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;328&quot; height=&quot;306&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Adding Breakpoint Label&lt;/div&gt;&lt;br/&gt;Let&#39;s have a look at how this labeling helps us during debugging. At this time, all the break points are enabled. Now if you don’t want to debug the &lt;code&gt;method2&lt;/code&gt;, in a general case you need to go to the particular method and need to disable the breakpoints one by one, here you can filter/search them by label name and can disable easily by selecting them together.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug14_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;283&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Filter Breakpoint Using Labels&lt;/div&gt;&lt;br/&gt;This is all about the Breakpoint labeling. The example I have shown to you is very basic, but it is very much useful when you have huge lines of code, multiple projects, etc.&lt;br/&gt;&lt;h3&gt;&lt;a id=&quot;heading0012&quot; name=&quot;heading0012&quot;&gt;Conditional Breakpoint&lt;/a&gt;&lt;/h3&gt;&lt;br/&gt;Suppose you are iterating through a large amount of data and you want to debug a few of them. It means you want to pause your program on some specific condition. Visual Studio Breakpoints allow you to put conditional breakpoint. So if and only if that condition is satisfied, the debugger will pause the execution.&lt;br/&gt;&lt;br/&gt;To do this, first of all you need to put the breakpoint on a particular line where you want to pause execution. Then just &quot;Right Click&quot; on the &quot;Red&quot; breakpoint icon. From there you just click on &quot;Condition&quot; .&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug5_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;343&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Set Breakpoint Condition&lt;/div&gt;&lt;br/&gt;By clicking on the &quot;Condition&quot; link from context menu, the below screen will come where you can set the condition for breakpoints.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug6.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;504&quot; height=&quot;241&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Breakpoint Condition Settings&lt;/div&gt;&lt;br/&gt;Let&#39;s assume that you have the following code block:&lt;br/&gt;&lt;br/&gt;[sourcecode language=&quot;csharp&quot;]&lt;br/&gt;class Program&lt;br/&gt;{&lt;br/&gt;static void Main(string[] args)&lt;br/&gt;{&lt;br/&gt;string [] strNames = { &amp;quot;Name1&amp;quot;,&amp;quot;Name2&amp;quot;, &amp;quot;Name3&amp;quot;, &amp;quot;Name4&amp;quot;, &amp;quot;Name5&amp;quot;, &amp;quot;Name6&amp;quot;};&lt;br/&gt;&lt;br/&gt;foreach(string name in strNames)&lt;br/&gt;{&lt;br/&gt;Console.WriteLine(name); // Breakpoint is here&lt;br/&gt;}&lt;br/&gt;}&lt;br/&gt;}&lt;br/&gt;[/sourcecode]&lt;br/&gt;&lt;br/&gt;You have a breakpoint on onsole.WriteLine() statement. On running of the program, execution will stop every time inside that &lt;code&gt;for&lt;/code&gt;&lt;strong&gt;-&lt;/strong&gt;&lt;code&gt;each &lt;/code&gt;statement. Now if you want your code to break only when name=&quot;Name3&quot;What needs to be done? This is very simple, you need to give the condition like&lt;strong&gt; &lt;/strong&gt;&lt;code&gt;name.Equals(&quot;Name3&quot;)&lt;/code&gt;.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug7.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;504&quot; height=&quot;241&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Set Breakpoint Condition&lt;/div&gt;&lt;br/&gt;Check the Breakpoint Symbol. It should look like a plus (+) symbol inside the breakpoint circle which indicates the conditional breakpoints.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug9.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;394&quot; height=&quot;73&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Conditional Breakpoint Symbol&lt;/div&gt;&lt;br/&gt;After setup of the condition of your breakpoint, if you run the application to debug it, you will see execution of program is only paused when it satisfied the given condition with breakpoint. In this case when &lt;code&gt;name=&quot;Name3&quot;&lt;/code&gt;.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug10.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;476&quot; height=&quot;81&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Conditional Breakpoint hit&lt;/div&gt;&lt;br/&gt;&lt;strong&gt;&lt;strong&gt;intellisense In Condition Text Box:&lt;/strong&gt; &lt;/strong&gt;The breakpoint condition which I have demonstrated here is very simple and can be written easily inside condition textbox. Sometimes, you may need to specify too big or complex conditions also. For that, you do not need to worry, VS IDE provide the intellisense within the condition textbox also. So whenever you are going to type anything inside the condition box, you will feel like typing inside the editor itself. Have a look into the below picture.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug8_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;312&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: intellisense in condition textbox&lt;/div&gt;&lt;br/&gt;I have almost covered all about the conditional breakpoints except one thing. In condition window you have seen that there are two options available:&lt;br/&gt;&lt;ol&gt;&lt;br/&gt;	&lt;li&gt;&lt;strong&gt;Is True&lt;/strong&gt; and&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;strong&gt;Has Changed&lt;/strong&gt;&lt;/li&gt;&lt;br/&gt;&lt;/ol&gt;&lt;br/&gt;We have already seen what is the use of &lt;strong&gt;&quot;Is True&quot;&lt;/strong&gt; option. &lt;strong&gt;&quot;Has changed&quot;&lt;/strong&gt; is used when you want to break the code if some value has changed for some particular value.&lt;br/&gt;&lt;h3&gt;&lt;a id=&quot;heading0013&quot; name=&quot;heading0013&quot;&gt;Import / Export Breakpoint&lt;/a&gt;&lt;/h3&gt;&lt;br/&gt;This is another interesting feature where you can save breakpoints and can use them in future. Visual Studio saves breakpoints in an XML Format. To save the breakpoints, you just need to click on the &lt;strong&gt;&quot;Export&quot;&lt;/strong&gt; button in breakpoint window.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug15_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;285&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Save Breakpoints&lt;/div&gt;&lt;br/&gt;You can use the saved XML file for the future and you can pass the same to other developers. You can also save breakpoints based on the search on labels. Let&#39;s have a quick look inside the content of the XML File. The XML file is collection of &lt;code&gt;BreakPoints &lt;/code&gt;tag within &lt;code&gt;BreakpointCollection&lt;/code&gt;. Each breakpoints tag contains information about the particular breakpoint like&lt;em&gt; line number&lt;/em&gt;,&lt;em&gt; is enabled&lt;/em&gt;, etc.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug16.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;523&quot; height=&quot;553&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Breakpoint XML File&lt;/div&gt;&lt;br/&gt;If you delete all the breakpoints from your code at any time, you can easily import them by just clicking on the &lt;strong&gt;&quot;&lt;/strong&gt;&lt;code&gt;Import&lt;/code&gt;&lt;strong&gt;&quot;&lt;/strong&gt; breakpoints button. This will restore all of your saved breakpoints.&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Note&lt;/strong&gt;: Breakpoint Import depends on the line number where you have set your breakpoint earlier. If your line number changed, breakpoint will set on the previous line number only, so you will get breakpoints on unexpected lines.&lt;br/&gt;&lt;h3&gt;&lt;a id=&quot;heading0014&quot; name=&quot;heading0014&quot;&gt;Breakpoint Hit Count&lt;/a&gt;&lt;/h3&gt;&lt;br/&gt;Breakpoint Hit Count is used to keep track of how many times the debugger has paused at some particular breakpoint. You also have some option like to choose when the debugger will stop. &lt;strong&gt;&quot;Breakpoint Hit Count&quot;&lt;/strong&gt; window having the following:&lt;br/&gt;&lt;ol&gt;&lt;br/&gt;	&lt;li&gt;Break always&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Break when the hit count is equal to a specified number&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Break when the hit count is a multiple of a specified number&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Break when the hit count is greater than or equal to a specified number.&lt;/li&gt;&lt;br/&gt;&lt;/ol&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug17_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;255&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Breakpoint Hit Count&lt;/div&gt;&lt;br/&gt;By default, it&#39;s set to always. So, whenever the breakpoints hits, hit count will increase automatically. Now we can set some condition as earlier mentioned. So based on that condition, breakpoint will hit and counter will be increased.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug18.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;483&quot; height=&quot;216&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Breakpoint Hit Count Options&lt;/div&gt;&lt;br/&gt;Let&#39;s explore it with the sample code block below:&lt;br/&gt;&lt;br/&gt;[sourcecode language=&quot;csharp&quot;]for (int i = 0; i &amp;amp;lt;= 10; i++)&lt;br/&gt;{&lt;br/&gt;    Console.WriteLine(i.ToString());  // Breakpoint&lt;br/&gt;}[/sourcecode]&lt;br/&gt;&lt;br/&gt;If you want your code to break when hit count is a multiple of 2, you need to select the third option from the dropdown list. After that, your code line should break only when the hit count is 2,4,6,... etc.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug19.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;483&quot; height=&quot;216&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Hit Count Condition&lt;/div&gt;&lt;br/&gt;Till now, I hope you are very much clear about breakpoints, labeling, hit count, etc. Now have a look at what is &lt;strong&gt;&quot;Breakpoint When Hit&quot;&lt;/strong&gt; option.&lt;br/&gt;&lt;h3&gt;&lt;a id=&quot;heading0015&quot; name=&quot;heading0015&quot;&gt;Breakpoint When Hit&lt;/a&gt;&lt;/h3&gt;&lt;br/&gt;This is apart from your normal debug steps, you want to do something else while breakpoint is hit, like print a message or run some macros. For those type of scenarios, you may go for this option. You can open this window by just right clicking on breakpoint.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug42.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;504&quot; height=&quot;424&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: When Breakpoint Is Hit&lt;/div&gt;&lt;br/&gt;The first thing that you need to notice is the symbol of breakpoint. Breakpoint symbol has changed to a diamond and you can also check out the tool tip message which indicates what it is going to do when execution reaches here.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug41.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;472&quot; height=&quot;150&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: When Breakpoint Is Hit&lt;/div&gt;&lt;br/&gt;&lt;h3&gt;&lt;a id=&quot;heading0016&quot; name=&quot;heading0016&quot;&gt;Breakpoint Filter&lt;/a&gt;&lt;/h3&gt;&lt;br/&gt;You can restrict the breakpoint to hit for certain processes or threads. This is extremely helpful while you are dealing with multithreading program. To open the filter window, you need to right click on the breakpoint and select &lt;strong&gt;&quot;Filter&quot;&lt;/strong&gt;.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug40.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;489&quot; height=&quot;396&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Breakpoint Filter&lt;/div&gt;&lt;br/&gt;In the filter criteria, you can set the process name, Id, Machine name, Thread ID, etc. I have described it in detailed uses in Multithreading debugging section.&lt;br/&gt;&lt;h2&gt;&lt;a id=&quot;heading0017&quot; name=&quot;heading0017&quot;&gt;Data Tip&lt;/a&gt;&lt;/h2&gt;&lt;br/&gt;Data tip is kind of an advanced tool tip message which is used to inspect the objects or variable during the debugging of the application. When debugger hits the breakpoint, if you mouse over to any of the objects or variables, you can see their current values. Even you can get the details of some complex object like &lt;code&gt;dataset&lt;/code&gt;, &lt;code&gt;datatable&lt;/code&gt;, etc. There is a&lt;strong&gt; &quot;+&quot;&lt;/strong&gt; sign associated with the dataTip which is used to expand its child objects or variables.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug20.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;557&quot; height=&quot;196&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: DataTips During Debugging&lt;/div&gt;&lt;br/&gt;Few months ago, I published one article on &lt;a href=&quot;http://www.codeproject.com/KB/debug/VS2010Debugging.aspx&quot;&gt;VS 2010 DataTip Debugging Tips&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;Here are a few cool features that you can use during debugging of your application.&lt;br/&gt;&lt;h3&gt;&lt;a id=&quot;heading0018&quot; name=&quot;heading0018&quot;&gt;Pin Inspect Value During Debugging&lt;/a&gt;&lt;/h3&gt;&lt;br/&gt;While debugging in Visual Studio, we generally used mouse over on the object or variable to inspect the current value. This shows the current data items held by the inspected object. But this is for a limited time, as long as the mouse is pointed to that object those value will be available. But in Visual Studio 2010 Beta 2, there is a great feature to pin and unpin this inspected value. We can pin as many of any object and their sub object value also. Please have a look into the below picture:&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug21_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;224&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Pin Inspect Value During Debugging&lt;/div&gt;&lt;br/&gt;When you mouse over on the inspect object, you will get pin icon with each and every object&#39;s properties, variable. Click on that pin icon to make it pinned. Unless you manually close these pinned items, they will be visible in the IDE.&lt;br/&gt;&lt;h3&gt;&lt;a id=&quot;heading0019&quot; name=&quot;heading0019&quot;&gt;Drag-Drop Pin Data Tip&lt;/a&gt;&lt;/h3&gt;&lt;br/&gt;You can easily &lt;strong&gt;Drag and Drop&lt;/strong&gt; the data tip inside the Visual Studio IDE. This is quite helpful when you need to see some object value list in the bottom section of code. You can easily drag those pinned data tips over there.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug22_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;449&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Drag Drop Data Tips&lt;/div&gt;&lt;br/&gt;&lt;h3&gt;&lt;a id=&quot;heading0020&quot; name=&quot;heading0020&quot;&gt;Adding Comments&lt;/a&gt;&lt;/h3&gt;&lt;br/&gt;You can add comments on the pinned data tip. For providing comments, you need to click on “&lt;strong&gt;Expand to see the comments&lt;/strong&gt;” button. This will brings up an additional textbox to add comments.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug23_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;133&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Comments in DataTip&lt;/div&gt;&lt;br/&gt;Below is some demonstration of Adding comments on pinned inspect value:&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug24_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;236&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Adding Comments For Datatips&lt;/div&gt;&lt;br/&gt;&lt;h3&gt;&lt;a id=&quot;heading0021&quot; name=&quot;heading0021&quot;&gt;Last Session Debugging Value &lt;/a&gt;&lt;/h3&gt;&lt;br/&gt;This is another great feature of Visual Studio 2010 debugging. If you pinned some data tip during the debugging, the value of pinned item will remain stored in a session. In normal mode of coding, if you mouse over the pin icon, it will show the details of the last debugging session value as shown in the the below picture:&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug25_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;115&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Last Session Debug Value&lt;/div&gt;&lt;br/&gt;&lt;h3&gt;&lt;a id=&quot;heading0022&quot; name=&quot;heading0022&quot;&gt;Import Export Data Tips&lt;/a&gt;&lt;/h3&gt;&lt;br/&gt;This feature is quite similar to the import/Export breakpoints. Like Breakpoints, you can import and export pinned data tips values in an XML file.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug26_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;218&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Export Data Tips&lt;/div&gt;&lt;br/&gt;These saved data tips can be imported during any point of time for further debugging. The XML file looks like below:&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug27_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;355&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: XML Content of DataTips&lt;/div&gt;&lt;br/&gt;You can further explore the XML file if you want to know more details about it. :)&lt;br/&gt;&lt;h3&gt;&lt;a id=&quot;heading0023&quot; name=&quot;heading0023&quot;&gt;Change Value Using Data Tips&lt;/a&gt;&lt;/h3&gt;&lt;br/&gt;DataTips is also used to changed the value while debugging. This means it can be used like a watch window. From the list of Pinned objects, you can change their value to see the impact on the program.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug29.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;436&quot; height=&quot;106&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Change Value Within Data Tip&lt;/div&gt;&lt;br/&gt;&lt;h3&gt;&lt;a id=&quot;heading0024&quot; name=&quot;heading0024&quot;&gt;Clear Data Tips&lt;/a&gt;&lt;/h3&gt;&lt;br/&gt;You can clear the data Tips by selecting &lt;strong&gt;&quot;Clear Data Tips&quot;&lt;/strong&gt; from Debug menu. There are two options:&lt;br/&gt;&lt;ol&gt;&lt;br/&gt;	&lt;li&gt;Clear All Data Tips&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Clear All Data Tips Pinned To [ &lt;em&gt;File Name.Cs&lt;/em&gt; ]&lt;/li&gt;&lt;br/&gt;&lt;/ol&gt;&lt;br/&gt;So if you want to clear all the Data Tips from all over your project / solution, just select the first option. But if you want to delete the pinned data tips from a particular file, then you need to open that particular file, there you have the second option to select. You can even delete particular pinned data tips by just right clicking on it and clicking &lt;strong&gt;&quot;Clear&quot;&lt;/strong&gt;.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug28.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;412&quot; height=&quot;193&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Clear Data Tips&lt;/div&gt;&lt;br/&gt;&lt;h2&gt;&lt;a id=&quot;heading0025&quot; name=&quot;heading0025&quot;&gt;Watch Windows&lt;/a&gt;&lt;/h2&gt;&lt;br/&gt;You can say it is an investigation window. After breakpoint has been hit, the next thing you want to do is to investigate the current object and variables values. When you mouse hover on the variable, it shows the information as a data tip which you can expand, pin, import which I have already explained. There are various types of watch windows like Autos, Local, etc. Let&#39;s have a look into their details.&lt;br/&gt;&lt;h3&gt;&lt;a id=&quot;heading0026&quot; name=&quot;heading0026&quot;&gt;Locals&lt;/a&gt;&lt;/h3&gt;&lt;br/&gt;It automatically displays the list of variables within the scope of current methods. If your debugger currently hits a particular breakpoint and if you open the &quot;Autos&quot; window, it will show you the current scope object variable along with the value.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug30_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;228&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Local Variables&lt;/div&gt;&lt;br/&gt;&lt;h3&gt;&lt;a id=&quot;heading0027&quot; name=&quot;heading0027&quot;&gt;Autos&lt;/a&gt;&lt;/h3&gt;&lt;br/&gt;These variables are automatically detect by the VS debugger during the debugging. Visual Studio determines which objects or variables are important for the current code statement and based on that, it lists down the &lt;strong&gt;&quot;Autos&lt;/strong&gt;&quot; variable. Shortcut key for the Autos Variable is &lt;strong&gt;&quot;Ctrl + D + A&quot;&lt;/strong&gt;.&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug31_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;103&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Autos - Ctrl+D, A&lt;/div&gt;&lt;br/&gt;&lt;h3&gt;&lt;a id=&quot;heading0028&quot; name=&quot;heading0028&quot;&gt;Watch&lt;/a&gt;&lt;/h3&gt;&lt;br/&gt;Watch windows are used for adding variables as per requirement. It displays variables that you have added. You can add as many variables as you want into the watch window. To add variables in the watch window, you need to &lt;strong&gt;&quot;Right Click&quot;&lt;/strong&gt; on variable and then select &lt;strong&gt;&quot;Add To Watch&quot;&lt;/strong&gt;.&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug32_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;193&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Autos - Ctrl+D, W&lt;/div&gt;&lt;br/&gt;You can also use &lt;strong&gt;Drag and Drop&lt;/strong&gt; to add variables in watch windows. If you want to delete any variable from watch window, just right click on that variable and select &lt;strong&gt;&quot;Delete Watch&quot;&lt;/strong&gt;. From the debug window, you can also edit the variable value at run time.&lt;br/&gt;&lt;br/&gt;There are 4 different watch windows available which you can use parallelly.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug33_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;255&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Multiple Watch Window&lt;/div&gt;&lt;br/&gt;If any of the row variables of the above window holds the object instance, you can have a &lt;strong&gt;&quot;+&quot;&lt;/strong&gt; symbol with the variable to explore the properties and member of that object variable.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug34_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;220&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Expanding Watched Variable&lt;/div&gt;&lt;br/&gt;&lt;h4&gt;&lt;a id=&quot;heading0029&quot; name=&quot;heading0029&quot;&gt;Creating Object ID&lt;/a&gt;&lt;/h4&gt;&lt;br/&gt;Visual Studio Debugger has another great functionality where you can create an object ID for any particular instance of object. This is very much helpful when you want to monitor any object at any point of time even if it goes out of scope. To create Object Id, from watch window you need to right click on a particular object variable and then need to click on &lt;strong&gt;&quot;Make Object ID&quot;&lt;/strong&gt;.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug35_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;253&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Creating Object ID&lt;/div&gt;&lt;br/&gt;After adding Object Id with a particular object variable, Visual Studio adds a numeric number with &quot;&lt;strong&gt;#&lt;/strong&gt;&quot; with that object to indicate that one Object ID has been created.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug36_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;114&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Object ID Added&lt;/div&gt;&lt;br/&gt;&lt;h2&gt;&lt;a id=&quot;heading0030&quot; name=&quot;heading0030&quot;&gt;Immediate Window&lt;/a&gt;&lt;/h2&gt;&lt;br/&gt;Immediate window is very much common and a favorite with all developers. It&#39;s very much helpful in debug mode of the application if you want to change the variable values or execute some statement without impacting your current debugging steps. You can open the Immediate window from menu &lt;strong&gt;Debug&lt;/strong&gt; &amp;gt; &lt;strong&gt;Window&lt;/strong&gt; &amp;gt; &lt;strong&gt;Immediate Window&lt;/strong&gt; { &lt;strong&gt;Ctrl + D, I&lt;/strong&gt; / &lt;strong&gt;Alt + Ctrl - I&lt;/strong&gt; }. Immediate window has a set of commands which can be executed any time during debugging. It also supports Intellisense. During Debug mode, you can execute any command or execute any code statement from here.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug36_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;114&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Basic Immediate Window&lt;/div&gt;&lt;br/&gt;These are very much common features for all the developers, so I am not going into details of each and every command of Immediate window.&lt;br/&gt;&lt;h2&gt;&lt;a id=&quot;heading0031&quot; name=&quot;heading0031&quot;&gt;Call Stack&lt;/a&gt;&lt;/h2&gt;&lt;br/&gt;These features also improve the productivity during debugging. If you have multiple method calling or nested calling all over your application and during debugging, you want to check from where this method has invoked, &lt;strong&gt;&quot;Call Stack&quot;&lt;/strong&gt; comes into the picture. The Call Stack Window shows that current method call nesting. &lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug38_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;233&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Call Stack&lt;/div&gt;&lt;br/&gt;In Call Stack window if you clicked on any of the rows, it will point you to the actual code of line of Visual Studio Code Editor. You can also customize the call stack row view by selecting different types of columns. To customize, Right Click on the &lt;strong&gt;&quot;Call Stack&quot; &lt;/strong&gt;window, and from the context menu, you can select or deselect the option.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug39.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;389&quot; height=&quot;309&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Call Stack Customization&lt;/div&gt;&lt;br/&gt;Call stack is very much important when you have multiple methods call all across the application and one particular method throwing an exception on some particular case. At that time, you can use call stack to see from where this method is getting invoked, based on that you can fix the defect.&lt;br/&gt;&lt;h2&gt;&lt;a id=&quot;heading0032&quot; name=&quot;heading0032&quot;&gt;Debugging Multithreaded Program&lt;/a&gt;&lt;/h2&gt;&lt;br/&gt;As of now, what I have discussed is all about fundamentals of debugging, knowing debugging tools and their uses. Now let&#39;s have a look into the multithreaded scenarios. Here you will see how to work with multithreaded program debugging, where is your current thread, what is the thread execution sequence, what is the state of thread. Before continuing with the demo, let&#39;s consider you have the following piece of code which you want to debug.&lt;br/&gt;&lt;br/&gt;[sourcecode language=&quot;csharp&quot;] class ThreadTest&lt;br/&gt;    {&lt;br/&gt;        static void Main()&lt;br/&gt;        {&lt;br/&gt;            Thread t = new Thread(new ThreadStart(Go));&lt;br/&gt;            t.Name = &amp;quot;Thread 1&amp;quot;;&lt;br/&gt;            Thread t1 = new Thread(new ThreadStart(Go));&lt;br/&gt;            t1.Name = &amp;quot;Thread 2&amp;quot;;&lt;br/&gt;            t.Start();&lt;br/&gt;            t1.Start();&lt;br/&gt;            Go();&lt;br/&gt;        }&lt;br/&gt;        static void Go()&lt;br/&gt;        {&lt;br/&gt;            Console.WriteLine(&amp;quot;hello!&amp;quot;);&lt;br/&gt;        }&lt;br/&gt;    }[/sourcecode]&lt;br/&gt;&lt;br/&gt;In the sample code, you have three different threads - Main Thread, Thread 1, Thread 2. I have given a thread name to make you understand better. Now set a breakpoint inside &lt;strong&gt;&quot;Go()&quot;&lt;/strong&gt; and run the application. When debugger hits the breakpoint, Press &lt;strong&gt;Ctrl+D,T&lt;/strong&gt; or Navigate through &lt;strong&gt;Debug&lt;/strong&gt; &amp;gt; &lt;strong&gt;Window&lt;/strong&gt; &amp;gt; &lt;strong&gt;Threads&lt;/strong&gt;. Threads window will appeared on the screen.&lt;br/&gt;&lt;h3&gt;&lt;a id=&quot;heading0033&quot; name=&quot;heading0033&quot;&gt;Exploring Threads Window&lt;/a&gt;&lt;/h3&gt;&lt;br/&gt;After selecting the thread window from debug menu, the following screen will come:&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug43_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;240&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Detail view of Thread window&lt;/div&gt;&lt;br/&gt;By default thread window having ID, Managed ID, Category, Name, Location and Priority column. At the start, execution pauses at &quot;Main Thread&quot;. &quot;Yellow Arrow&quot; indicates the current executable thread. Category column indicates the category of threads, like main thread or worker thread. If you check the thread location, it is nothing but &lt;strong&gt;Namespace&lt;/strong&gt; &amp;gt; &lt;strong&gt;Class&lt;/strong&gt; &amp;gt; &lt;strong&gt;Method&lt;/strong&gt; name. In the diagram, it is showing that the &lt;strong&gt;Main Thread&lt;/strong&gt; will be executed next. Now to explore the next step by just pressing &lt;strong&gt;&quot;F5&quot;&lt;/strong&gt; and see what are the changes in thread window.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug44_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;191&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Detail view of Thread window - For Next Steps&lt;/div&gt;&lt;br/&gt;So after pressing F5, it jumped to the next step to thread 1. you can also check the current location for Main Thread. It says &quot;&lt;strong&gt;Sleep/ Wait / Join&lt;/strong&gt;&quot; , means waiting for something to complete. Similarly the next step will move you to thread 2. From the Thread window, you can understand how easy it is to monitor your threads using this debugger tool.&lt;br/&gt;&lt;br/&gt;There is another great feature available within the thread window. You can &lt;strong&gt;expand/collapse&lt;/strong&gt; the &lt;em&gt;Thread Location&lt;/em&gt; and can see what is next. For example, if you expand the location for &lt;strong&gt;&quot;Main Thread&quot;&lt;/strong&gt;, it will look like the diagram given below: &lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug45_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;200&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Expanded Location View For Threads&lt;/div&gt;&lt;br/&gt;&lt;h4&gt;&lt;a id=&quot;heading0034&quot; name=&quot;heading0034&quot;&gt;Flag Just My Code &lt;/a&gt;&lt;/h4&gt;&lt;br/&gt;The sample code which I have explained for the thread debugging is very simple. What will happen if you have a huge code block with multiple number of threads. Then it will be very difficult for you to identify which thread is part of your code or which ones are not related. Thread window gives you very easy features to set the &quot;&lt;strong&gt;Flag&lt;/strong&gt;&quot; for all the threads which are part of your code. For that, you need to just flag your thread by option &quot;&lt;strong&gt;Flag Just My Code&lt;/strong&gt;&quot;.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug46_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;111&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Flag Just My Code&lt;/div&gt;&lt;br/&gt;&lt;h4&gt;&lt;a id=&quot;heading0035&quot; name=&quot;heading0035&quot;&gt;Break Point Filter - Multithread Debugging&lt;/a&gt;&lt;/h4&gt;&lt;br/&gt;While discussing about breakpoint filter in breakpoint section, I said that breakpoint filter is very much helpful for Multithreaded debugging mode. Now this is the time to explore it. In our current example, we have three threads Main Thread, Thread1 and Thread 2. Now what if you want &lt;strong&gt;breakpoint to hit only for &quot;Thread 2&quot;&lt;/strong&gt;. What will you do ? Here is the use of breakpoint filter. Right click on the breakpoint, select &quot;&lt;strong&gt;Filter&lt;/strong&gt;&quot; from the context menu. Now in breakpoint filter window, you need to fill the filter criteria. As per your requirement, you need to specify &quot;&lt;code&gt;ThreadName=&quot;Thread 2&quot;&lt;/code&gt; .&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug47_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;432&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Breakpoint Filter - Multithreaded Debugging&lt;/div&gt;&lt;br/&gt;Here &lt;code&gt;ThreadName &lt;/code&gt;was one of the criteria by which you can filter, but you can filter on multiple clauses like &lt;code&gt;ThreadID&lt;/code&gt;, &lt;code&gt;ProcessName&lt;/code&gt;, &lt;code&gt;ProcessID&lt;/code&gt;, etc. After setting the breakpoint filter, run the application and open the &quot;Threads&quot; window.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug48_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;250&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Breakpoint Filter - Multithreaded Debugging&lt;/div&gt;&lt;br/&gt;You will find your program execution has only paused during the execution of &lt;strong&gt;&quot;Thread 2&quot;&lt;/strong&gt; .&lt;br/&gt;&lt;br/&gt;This is all about the debugging with multithreaded application. Hope you have learned something from it. Let&#39;s start with another most important topic &quot;Parallel Debugging&quot;.&lt;br/&gt;&lt;h2&gt;&lt;a id=&quot;heading0036&quot; name=&quot;heading0036&quot;&gt;Debugging Parallel Program&lt;/a&gt;&lt;/h2&gt;&lt;br/&gt;This is another great feature added to Visual Studio 2010 to debug parallel program. Parallel programming is the new feature coming with .NET 4.0. If you want to learn more about parallel programming, please check &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/dd460693.aspx&quot;&gt;here&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;Now Debugging the parallel program is also a big topic. Here I will give you a basic overview to know about the debugging of parallel program. To discuss about it, let&#39;s consider you have the following piece of code:&lt;br/&gt;&lt;br/&gt;[sourcecode language=&quot;csharp&quot;]using System;&lt;br/&gt;using System.Collections.Generic;&lt;br/&gt;using System.Linq;&lt;br/&gt;using System.Text;&lt;br/&gt;using System.Threading;&lt;br/&gt;using System.Threading.Tasks;&lt;br/&gt;&lt;br/&gt;namespace ParalleTaskDebugging&lt;br/&gt;{&lt;br/&gt;    class Program&lt;br/&gt;    {&lt;br/&gt;        static void Main(string[] args)&lt;br/&gt;        {&lt;br/&gt;            var task_a = Task.Factory.StartNew(() =&amp;amp;gt; DoSomeWork(10000));&lt;br/&gt;            var task_b = Task.Factory.StartNew(() =&amp;amp;gt; DoSomeWork(5000));&lt;br/&gt;            var task_c = Task.Factory.StartNew(() =&amp;amp;gt; DoSomeWork(1000));&lt;br/&gt;            Task.WaitAll(task_a, task_b, task_c);&lt;br/&gt;&lt;br/&gt;        }&lt;br/&gt;&lt;br/&gt;        static void DoSomeWork(int time)&lt;br/&gt;        {&lt;br/&gt;               Thread.Sleep(time);&lt;br/&gt;        }&lt;br/&gt;    }&lt;br/&gt;}[/sourcecode]&lt;br/&gt;&lt;br/&gt;To understand the parallel program debugging, we need to be aware about two window options: &lt;br/&gt;&lt;ol&gt;&lt;br/&gt;	&lt;li&gt;&lt;strong&gt;Parallel Tasks&lt;/strong&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;strong&gt;Parallel Stacks&lt;/strong&gt;&lt;/li&gt;&lt;br/&gt;&lt;/ol&gt;&lt;br/&gt;&lt;h2&gt;&lt;a id=&quot;heading0037&quot; name=&quot;heading0037&quot;&gt;Parallel Task and Parallel Stacks&lt;/a&gt;&lt;/h2&gt;&lt;br/&gt;Before continuing with parallel tasks and parallel stacks, you have to know about Threads Window which I have already covered. In the given code, you have three different tasks which are doing something and after sometime, all the tasks are put on hold. This is done intentionally to check the status of each task. To test, put a breakpoint on &lt;code&gt;DoSomeWork() &lt;/code&gt;method and run the application. You will see your program execution paused on the breakpoint. After the program break, you can go to &lt;strong&gt;Debug&lt;/strong&gt; &amp;gt; &lt;strong&gt;Window&lt;/strong&gt; &amp;gt; Open &lt;strong&gt;Parallel Tasks&lt;/strong&gt; and &lt;strong&gt;Parallel Stacks&lt;/strong&gt; window. I asked to open both at the same time only because you can visualize what is going on.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug49_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;286&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Breakpoint Filter - Multithreaded Debugging&lt;/div&gt;&lt;br/&gt;&lt;strong&gt;Parallel Task&lt;/strong&gt; window will show you what are the different tasks that have been created for the program and what is their current status. On the other hand, Parallel Stacks will show you the graphical view of all thread creation, containing tasks, how they are related. If you click on the thread from the Parallel Stacks, it will show you the code line related with the thread (as shown in the picture with a Green Arrow). To move ahead, press F5. Let&#39;s see what comes next.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug50_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;284&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Parallel Program - Debugging&lt;/div&gt;&lt;br/&gt;In the above diagram, you can find one of the tasks has been executed and the other two are remaining. Current execution point is set to &lt;code&gt;AsyncMethod_1&lt;/code&gt;, so if you continue, this method will execute first and next time the others. When you are working with parallel programming, there are many scenarios which will come like Deadlock, Dependency problem, etc. These topics is very interesting and long to discuss. Please check further study section of the article to know more details.&lt;br/&gt;&lt;h2&gt;&lt;a id=&quot;heading0041&quot;&gt;Debugging with IntelliTrace - Overview&lt;/a&gt;&lt;/h2&gt;&lt;br/&gt;This is another great feature of &lt;strong&gt;Visual Studio 2010 IDE&lt;/strong&gt;. IntelliTrace Debugging is sometimes called as historical Debugging. IntelliTrace operates in the background, records what you are doing during debugging. When you want the information of previous event or some particular event, you can easily get it from intelliTrace information, a past state of your application. In this mode, you can navigate to various events, steps that are recorded. In this section, I will give you a basic overview of how to use IntelliTrace.&lt;br/&gt;&lt;br/&gt;Here I am using one sample program by which I will show you what IntelliTrace does. Below is the sample code block:&lt;br/&gt;&lt;br/&gt;[sourcecode language=&quot;csharp&quot;][/sourcecode]&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;class Program&lt;br/&gt;{&lt;br/&gt;static void Main(string[] args)&lt;br/&gt;{&lt;br/&gt;Console.WriteLine(&amp;quot;IntelliTrackerTest&amp;quot;);&lt;br/&gt;CallTestMethod(5);&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;public static void CallTestMethod(int TestValue)&lt;br/&gt;{&lt;br/&gt;Console.WriteLine(&amp;quot;In CallTestMethod : &amp;quot; + TestValue.ToString());&lt;br/&gt;Console.WriteLine(&amp;quot;Last Statement....&amp;quot;);&lt;br/&gt;}&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;[sourcecode language=&amp;quot;csharp&amp;quot;][/sourcecode]&lt;br/&gt;&lt;br/&gt;Run the program and Open &lt;strong&gt;IntelliTrace &lt;/strong&gt;window from Debug menu, you will find the below screen added in the right hand side of Visual Studio.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug53.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;377&quot; height=&quot;295&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: IntelliTracker First View&lt;/div&gt;&lt;br/&gt;&lt;h3&gt;&lt;a id=&quot;heading0060&quot;&gt;Mapping with IntelliTrace&lt;/a&gt;&lt;/h3&gt;&lt;br/&gt;Did you find any relationship with your code and with the &lt;strong&gt;IntelliTracker List view&lt;/strong&gt;? I guess you should. If not, let me explain about it. Let&#39;s have a look into the below picture:&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug54_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;178&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Mapping IntelliTrace - Code&lt;/div&gt;&lt;br/&gt;From the picture, I am sure you have got the idea what IntelliTrace is doing. Yes, exactly its &lt;strong&gt;records/capture &lt;/strong&gt;what your code is doing. If you call a method, it will capture. If code fired an event, it will trap. Yes at a single statement, I will capture each and everything.&lt;br/&gt;&lt;br/&gt;Now from the &lt;strong&gt;IntelliTrace &lt;/strong&gt;window, you can navigate your code with any part and see what’s happened internally. If you can get the call stack, Local variables information are recorded. To navigate, just click any of the events that you want to explore, that block will automatically expand.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug55_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;185&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Expanded IntelliTrace Block - Mapping with Code&lt;/div&gt;&lt;br/&gt;When you will select any block, it will expand automatically and that line will be highlighted. As per the given picture, I have highlighted the first console section and you can see the corresponding code block has also been highlight. You can now easily map them. In the expanded block (&lt;strong&gt;Light Orange&lt;/strong&gt;), there are two Related View Sections &lt;strong&gt;Locals &lt;/strong&gt;and &lt;strong&gt;Stack Call&lt;/strong&gt;. I have already explained Locals and Stack Calls. But can you imagine what is the use of Locals and Call Stack over here. Yes, you guessed it correctly, it will show you the Locals and Call Stack status for that time period when the selected block has been executed. What a nice feature this is.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug56_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;245&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Mapping IntelliTrace - Code - Related View&lt;/div&gt;&lt;br/&gt;&lt;h3&gt;&lt;a id=&quot;heading0061&quot;&gt;Filter IntelliTrace Data&lt;/a&gt;&lt;/h3&gt;&lt;br/&gt;If you have a lot of recorded information in the intellitrace window, you can easily filter them out. You can filter data based on the &lt;strong&gt;Categories &lt;/strong&gt;or &lt;strong&gt;Thread&lt;/strong&gt;. As for example suppose you want to see only the data that is related with Console Related, you just need to check the &quot;&lt;strong&gt;Console&lt;/strong&gt;&quot; From &lt;strong&gt;categories &lt;/strong&gt;list.&lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.codeproject.com/KB/cs/MasteringInDebugging/debug57_small.png&quot; border=&quot;0&quot; alt=&quot;&quot; hspace=&quot;0&quot; width=&quot;640&quot; height=&quot;205&quot; /&gt;&lt;br/&gt;&lt;div class=&quot;Caption&quot;&gt;Figure: Filter IntelliTrace Data&lt;/div&gt;&lt;br/&gt;&lt;strong&gt;Note&lt;/strong&gt;: By default, Visual Studio stored IntelliTrace information in &quot;&lt;em&gt;\Microsoft Visual Studio\10.0\TraceDebugging&lt;/em&gt;&quot; Location in a &lt;strong&gt;iTrace&lt;/strong&gt; file. You may change the location.&lt;br/&gt;&lt;br/&gt;Debugging with IntelliTrace is itself a big topic. So it is very much difficult for me to cover them up within this article. I just give you the basic overview so that you can at least explore it by yourself now. Please check the further study section to know more about it.&lt;br/&gt;&lt;h2&gt;&lt;a id=&quot;heading0038&quot; name=&quot;heading0038&quot;&gt;Useful Shortcut Key For VS Debugging&lt;/a&gt;&lt;/h2&gt;&lt;br/&gt;&lt;table class=&quot;ArticleTable&quot; width=&quot;640&quot;&gt;&lt;br/&gt;&lt;thead&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td align=&quot;center&quot;&gt;Shortcut Keys&lt;/td&gt;&lt;br/&gt;&lt;td align=&quot;center&quot;&gt;Descriptions&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;/thead&gt;&lt;br/&gt;&lt;tbody&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;Ctrl-Alt-V, A&lt;/td&gt;&lt;br/&gt;&lt;td&gt;Displays the Auto window&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;Ctrl-Alt-B&lt;/td&gt;&lt;br/&gt;&lt;td&gt;Displays the Breakpoints dialog&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;Ctrl-Alt-C&lt;/td&gt;&lt;br/&gt;&lt;td&gt;Displays the Call Stack&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;Ctrl-Shift-F9&lt;/td&gt;&lt;br/&gt;&lt;td&gt;Clears all of the breakpoints in the project&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;Ctrl-F9&lt;/td&gt;&lt;br/&gt;&lt;td&gt;Enables or disables the breakpoint on the current line of code&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;Ctrl-Alt-E&lt;/td&gt;&lt;br/&gt;&lt;td&gt;Displays the Exceptions dialog&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;Ctrl-Alt-I&lt;/td&gt;&lt;br/&gt;&lt;td&gt;Displays the Immediate window&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;Ctrl-Alt-V, L&lt;/td&gt;&lt;br/&gt;&lt;td&gt;Displays the Locals window&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;Ctrl-Alt-Q&lt;/td&gt;&lt;br/&gt;&lt;td&gt;Displays the Quick Watch dialog&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;Ctrl-Shift-F5&lt;/td&gt;&lt;br/&gt;&lt;td&gt;Terminates the current debugging session, rebuilds if necessary, and starts a new debugging session.&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;Ctrl-F10&lt;/td&gt;&lt;br/&gt;&lt;td&gt;Starts or resumes execution of your code and then halts execution when it reaches the selected statement.&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;Ctrl-Shift-F10&lt;/td&gt;&lt;br/&gt;&lt;td&gt;Sets the execution point to the line of code you choose&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;Alt-NUM *&lt;/td&gt;&lt;br/&gt;&lt;td&gt;Highlights the next statement&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;F5&lt;/td&gt;&lt;br/&gt;&lt;td&gt;If not currently debugging, this runs the startup project or projects and attaches the debugger.&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;Ctrl-F5&lt;/td&gt;&lt;br/&gt;&lt;td&gt;Runs the code without invoking the debugger&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;F11&lt;/td&gt;&lt;br/&gt;&lt;td&gt;Step Into&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;Shift-F11&lt;/td&gt;&lt;br/&gt;&lt;td&gt;Executes the remaining lines out from procedure&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;F10&lt;/td&gt;&lt;br/&gt;&lt;td&gt;Executes the next line of code but does not step into any function calls&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;Shift-F5&lt;/td&gt;&lt;br/&gt;&lt;td&gt;Available in break and run modes, this terminates the debugging session&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;Ctrl-Alt-H&lt;/td&gt;&lt;br/&gt;&lt;td&gt;Displays the Threads window to view all of the threads for the current process&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;F9&lt;/td&gt;&lt;br/&gt;&lt;td&gt;Sets or removes a breakpoint at the current line&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;Ctrl-Alt-W, 1&lt;/td&gt;&lt;br/&gt;&lt;td&gt;Displays the Watch 1 window to view the values of variables or watch expressions&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;Ctrl-Alt-P&lt;/td&gt;&lt;br/&gt;&lt;td&gt;Displays the Processes dialog, which allows you to attach or detach the debugger to one or more running processes&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;tr&gt;&lt;br/&gt;&lt;td&gt;Ctrl-D,V&lt;/td&gt;&lt;br/&gt;&lt;td&gt;IntelliTrace Event&lt;/td&gt;&lt;br/&gt;&lt;/tr&gt;&lt;br/&gt;&lt;/tbody&gt;&lt;br/&gt;&lt;/table&gt;&lt;br/&gt;I am stopping here. Hope you have enjoyed the full article. Please share your feedback and suggestions.&lt;br/&gt;&lt;h2&gt;&lt;a id=&quot;heading0039&quot; name=&quot;heading0039&quot;&gt;Further Study&lt;/a&gt;&lt;/h2&gt;&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/magazine/ee410778.aspx&quot;&gt;Debugging Task-Based Parallel Applications in Visual Studio 2010 By Daniel Moth and Stephen Toub&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/dd264915.aspx&quot;&gt;Debugging With IntelliTrace&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;&lt;h2&gt;&lt;a id=&quot;heading0040&quot; name=&quot;heading0040&quot;&gt;Summary&lt;/a&gt;&lt;/h2&gt;&lt;br/&gt;This article covers basic fundamentals of debugging procedure. It describes how to debug an application using VS IDE. I have explained almost all important tools and their uses. For Parallel program debugging, I have covered only basics. In further study section, there is a great article on Parallel debugging procedure. If you are interested, please go through the link. My main objective was to cover almost all utilities that are available in Visual Studio debugging. Hope you have learned something new from this article.&lt;br/&gt;&lt;br/&gt;Please share your valuable feedback and suggestions to improve this.&lt;br/&gt;&lt;br/&gt;&lt;a rev=&quot;vote-for&quot; href=&quot;http://dotnetshoutout.com/Article-Published-Mastering-in-Visual-Studio-2010-Debugging-Abhijits-World-of-NET&quot;&gt;&lt;img style=&quot;border:0;&quot; src=&quot;http://dotnetshoutout.com/image.axd?url=http%3A%2F%2Fabhijitjana.net%2F2010%2F05%2F07%2Farticle-published-mastering-in-visual-studio-2010-debugging%2F&quot; alt=&quot;Shout it&quot; /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fabhijitjana.net%2f2010%2f05%2f07%2farticle-published-mastering-in-visual-studio-2010-debugging%2f&quot;&gt;&lt;img src=&quot;http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fabhijitjana.net%2f2010%2f05%2f07%2farticle-published-mastering-in-visual-studio-2010-debugging%2f&quot; border=&quot;0&quot; alt=&quot;kick it on DotNetKicks.com&quot; /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/4466161096025950267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2010/05/mastering-in-visual-studio-2010.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/4466161096025950267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/4466161096025950267'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2010/05/mastering-in-visual-studio-2010.html' title='Mastering in Visual Studio 2010 Debugging'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-9123170566201586618</id><published>2010-04-25T11:13:00.000-07:00</published><updated>2010-05-22T09:35:14.050-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Awards"/><category scheme="http://www.blogger.com/atom/ns#" term="General"/><category scheme="http://www.blogger.com/atom/ns#" term="IIS"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft ASP.NET Web Site"/><title type='text'>&amp;quot;Spotlight&amp;quot; - Microsoft’s official website www.asp.net</title><content type='html'>&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2010/04/spotlight_aspnet.jpg&quot;&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2010/04/spotlight_aspnet.jpg&quot;&gt;&lt;img class=&quot;alignleft size-medium wp-image-510&quot; title=&quot;SpotLight_AspNet&quot; src=&quot;http://abhijitjana.files.wordpress.com/2010/04/spotlight_aspnet.jpg?w=300&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;223&quot; /&gt;&lt;/a&gt;I am happy to inform that one of my article &quot;&lt;a href=&quot;http://www.dotnetfunda.com/articles/article821-beginners-guide-how-iis-process-aspnet-request-.aspx&quot;&gt;Beginner’s Guide: How IIS Process ASP.NET Request&quot;&lt;/a&gt; published at &lt;a href=&quot;http://www.dotnetfunda.com&quot;&gt;DotNetFunda.Com&lt;/a&gt; has been featured at Microsoft&#39;s official website &lt;a href=&quot;http://asp.net&quot;&gt;www.asp.net&lt;/a&gt; as &lt;strong&gt;Spotlight . &lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;This article has also been selected as&lt;strong&gt; &quot;&lt;/strong&gt;Article of the day&quot; at asp.net site few weeks back. This time I am quite excited to see  the article in Spotlight section.&lt;br/&gt;&lt;br/&gt;Thanks to DotNetFunda and Thanks to all of you for your good wishes.&lt;br/&gt;You can read all of my article &lt;a href=&quot;http://abhijitjana.net/my-articles/&quot;&gt;here&lt;br/&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/9123170566201586618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2010/04/microsofts-official-website-wwwaspnet.html#comment-form' title='17 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/9123170566201586618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/9123170566201586618'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2010/04/microsofts-official-website-wwwaspnet.html' title='&amp;quot;Spotlight&amp;quot; - Microsoft’s official website www.asp.net'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>17</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-1982876349064897885</id><published>2010-04-16T04:58:00.000-07:00</published><updated>2010-05-22T09:35:13.773-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft ASP.NET Web Site"/><title type='text'>“Article of the day” @ Microsoft’s official website www.asp.net</title><content type='html'>It&#39;s great to see one of my another article &lt;a href=&quot;http://www.dotnetfunda.com/articles/article821-beginners-guide-how-iis-process-aspnet-request-.aspx&quot;&gt;&quot;Beginner’s Guide: How IIS Process ASP.NET Request&quot;&lt;/a&gt; has been selected as &lt;strong&gt;“Articles of the Day”&lt;/strong&gt; in &lt;em&gt;Microsoft’s official Web&lt;/em&gt; sitesite  &lt;a href=&quot;http://asp.net/&quot;&gt;asp.net&lt;/a&gt; . It’s always great to see any article as &lt;em&gt;“Article of The Day”&lt;/em&gt; in asp.net site.&lt;br/&gt;&lt;br/&gt;This article describes how IIS process any incoming ASP.NET request. This also described diiferent level of IIS, Application Pool, Worker Process and also how request flows from different HTTPModule, HTTPHanlder and finally starts the Page Lifecycle.&lt;br/&gt;&lt;br/&gt;I have represent this articles with many diagrams, so it can helps beginners to learn and remember easily.&lt;br/&gt;&lt;br/&gt;You can find complete article in &lt;a href=&quot;http://www.dotnetfunda.com/articles/article821-beginners-guide-how-iis-process-aspnet-request-.aspx&quot;&gt;DotNetFunda.com&lt;/a&gt; .</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/1982876349064897885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2010/04/article-of-day-microsofts-official_16.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/1982876349064897885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/1982876349064897885'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2010/04/article-of-day-microsofts-official_16.html' title='“Article of the day” @ Microsoft’s official website www.asp.net'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-6321531371010370548</id><published>2010-04-11T17:49:00.000-07:00</published><updated>2010-05-22T09:35:13.221-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET 4.0"/><category scheme="http://www.blogger.com/atom/ns#" term="General"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio 2010"/><title type='text'>Visual Studio 2010 - Launch Date - Today</title><content type='html'>&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2010/04/downloads_code_boxshot.png&quot;&gt;&lt;br/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2010/04/vs2010_logo.png&quot;&gt;&lt;img class=&quot;alignleft size-full wp-image-478&quot; title=&quot;vs2010_logo&quot; src=&quot;http://abhijitjana.files.wordpress.com/2010/04/vs2010_logo.png&quot; alt=&quot;&quot; width=&quot;183&quot; height=&quot;98&quot; /&gt;&lt;/a&gt;Finally the day has come. &lt;strong&gt;12&lt;sup&gt;th&lt;/sup&gt; April&lt;/strong&gt;(&lt;span style=&quot;text-decoration:underline;&quot;&gt;Today&lt;/span&gt;) is the launch date of .NET Framework 4.0 with Visual Studio 2010. &lt;strong&gt;VS 2010 Beta 1&lt;/strong&gt; was launched on&lt;strong&gt; 18&lt;sup&gt;th&lt;/sup&gt; may 2009&lt;/strong&gt;. After five months Microsoft launched &lt;strong&gt;VS 2010 Beta-2&lt;/strong&gt; on &lt;strong&gt;21&lt;sup&gt;st&lt;/sup&gt; October 2009&lt;/strong&gt;.  Microsoft released the &lt;strong&gt;Release candidate (RC)&lt;/strong&gt; Version of VS 2010 on &lt;strong&gt;10th Feb 2010.&lt;/strong&gt; Now, finally &lt;strong&gt;12&lt;sup&gt;th&lt;/sup&gt; April -2010 &lt;/strong&gt;is going to be biggest day for .NET world as Visual Studio 2010 launching today.&lt;br/&gt;&lt;br/&gt;Visual studio 2010 and .NET Framework 4.0 came up with many new features for next generation developers. Below are the few lists of features that are available with VS 2010&lt;br/&gt;&lt;br/&gt;&lt;span style=&quot;color:#003366;&quot;&gt;&lt;strong&gt;Visual Studio 2010 IDE and .NET Framework 4.0&lt;/strong&gt;&lt;/span&gt;&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;	&lt;li&gt;Call      Hierarchy of methods&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2010/04/downloads_code_boxshot.png&quot;&gt;&lt;img class=&quot;alignright size-full wp-image-492&quot; title=&quot;downloads_code_boxshot&quot; src=&quot;http://abhijitjana.files.wordpress.com/2010/04/downloads_code_boxshot.png&quot; alt=&quot;&quot; width=&quot;290&quot; height=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;A      New Quick Search&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Multi-targeting&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Multi-Monitor&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Parallel      Programming&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Visual      Debugging&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;XSLT      Profiling and Debugging&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;The      XSD Designer&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Code      Navigation in Class Files&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Code      Identifier Highlighting&lt;/li&gt;&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;&lt;span style=&quot;color:#000080;&quot;&gt;&lt;strong&gt;New ASP.NET features&lt;/strong&gt;&lt;/span&gt;&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;	&lt;li&gt;Static      IDs for ASP.NET Controls&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Web.config      transformation&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;URL      Routing and SEO&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Compressing      Session Values&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;MetaKeyword      and MetaDescription&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Generating      Client IDs&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Permanent      Redirect&lt;/li&gt;&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;&lt;span style=&quot;color:#000080;&quot;&gt;&lt;strong&gt;New C# features&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2010/04/vs_ult_boxshot.png&quot;&gt;&lt;img class=&quot;alignright size-full wp-image-491&quot; title=&quot;vs_ult_boxshot&quot; src=&quot;http://abhijitjana.files.wordpress.com/2010/04/vs_ult_boxshot.png&quot; alt=&quot;&quot; width=&quot;127&quot; height=&quot;180&quot; /&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;	&lt;li&gt;Dynamic      Types&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Optional      parameters&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Named      and Optional Arguments&lt;/li&gt;&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;This are only few list of features, there are many more features available.  Over couple of months I came across many good articles on  Visual studio 2010 and .NET 4.0. Below are few of them. It may help many of guys who are just start working with VS 2010 or Thinking for start with&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://dotnetslackers.com/articles/net/Visual-Studio-2010-and-NET-Framework-4-IDE-Enhancements-Part1.aspx&quot;&gt;http://dotnetslackers.com/articles/net/Visual-Studio-2010-and-NET-Framework-4-IDE-Enhancements-Part1.aspx&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://dotnetslackers.com/articles/net/Visual-Studio-2010-and-NET-Framework-4-IDE-Enhancements-Part2.aspx&quot;&gt;http://dotnetslackers.com/articles/net/Visual-Studio-2010-and-NET-Framework-4-IDE-Enhancements-Part2.aspx&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://dotnetslackers.com/articles/net/Visual-Studio-2010-and-NET-Framework-4-IDE-Enhancements-Part3.aspx&quot;&gt;http://dotnetslackers.com/articles/net/Visual-Studio-2010-and-NET-Framework-4-IDE-Enhancements-Part3.aspx&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://weblogs.asp.net/scottgu/archive/2010/03/30/cleaner-html-markup-with-asp-net-4-web-forms-client-ids-vs-2010-and-net-4-0-series.aspx&quot;&gt;http://weblogs.asp.net/scottgu/archive/2010/03/30/cleaner-html-markup-with-asp-net-4-web-forms-client-ids-vs-2010-and-net-4-0-series.aspx&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://weblogs.asp.net/scottgu/archive/2009/10/13/url-routing-with-asp-net-4-web-forms-vs-2010-and-net-4-0-series.aspx&quot;&gt;http://weblogs.asp.net/scottgu/archive/2009/10/13/url-routing-with-asp-net-4-web-forms-vs-2010-and-net-4-0-series.aspx&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://weblogs.asp.net/scottgu/archive/2009/10/29/add-reference-dialog-improvements-vs-2010-and-net-4-0-series.aspx&quot;&gt;http://weblogs.asp.net/scottgu/archive/2009/10/29/add-reference-dialog-improvements-vs-2010-and-net-4-0-series.aspx&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://weblogs.asp.net/scottgu/archive/2009/10/22/vs-2010-code-intellisense-improvements-vs-2010-and-net-4-0-series.aspx&quot;&gt;http://weblogs.asp.net/scottgu/archive/2009/10/22/vs-2010-code-intellisense-improvements-vs-2010-and-net-4-0-series.aspx&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://weblogs.asp.net/scottgu/archive/2010/01/05/asp-net-4-seo-improvements-vs-2010-and-net-4-0-series.aspx&quot;&gt;http://weblogs.asp.net/scottgu/archive/2010/01/05/asp-net-4-seo-improvements-vs-2010-and-net-4-0-series.aspx&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://weblogs.asp.net/scottgu/archive/2010/01/27/extensible-output-caching-with-asp-net-4-vs-2010-and-net-4-0-series.aspx&quot;&gt;http://weblogs.asp.net/scottgu/archive/2010/01/27/extensible-output-caching-with-asp-net-4-vs-2010-and-net-4-0-series.aspx&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://www.codedigest.com/Articles/ASPNET/284_New_Features_in_ASPNet_40-PART_1.aspx&quot;&gt;http://www.codedigest.com/Articles/ASPNET/284_New_Features_in_ASPNet_40-PART_1.aspx&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://www.codedigest.com/Articles/ASPNET/285_New_Features_in_ASPNet_40-PART_1.aspx&quot;&gt;http://www.codedigest.com/Articles/ASPNET/285_New_Features_in_ASPNet_40-PART_1.aspx&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://www.asp.net/LEARN/whitepapers/aspnet4/&quot;&gt;http://www.asp.net/LEARN/whitepapers/aspnet4/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://www.dotnetfunda.com/articles/article815-whats-new-in-visual-studio-2010-.aspx&quot;&gt;http://www.dotnetfunda.com/articles/article815-whats-new-in-visual-studio-2010-.aspx&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2010/04/visualstudio2010.jpg&quot;&gt;&lt;img class=&quot;aligncenter size-full wp-image-488&quot; title=&quot;VisualStudio2010&quot; src=&quot;http://abhijitjana.files.wordpress.com/2010/04/visualstudio2010.jpg&quot; alt=&quot;&quot; width=&quot;267&quot; height=&quot;286&quot; /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/6321531371010370548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2010/04/visual-studio-2010-launch-date-today.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/6321531371010370548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/6321531371010370548'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2010/04/visual-studio-2010-launch-date-today.html' title='Visual Studio 2010 - Launch Date - Today'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-2289757197430734317</id><published>2010-04-10T00:30:00.000-07:00</published><updated>2010-05-22T09:35:11.204-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft ASP.NET Web Site"/><title type='text'>“Article of the day” @ Microsoft’s official website www.asp.net</title><content type='html'>&lt;a href=&quot;http://www.asp.net/community/&quot;&gt;&lt;img class=&quot;alignleft size-full wp-image-461&quot; title=&quot;ArticleOfTheDay&quot; src=&quot;http://abhijitjana.files.wordpress.com/2010/04/articleoftheday.jpg&quot; alt=&quot;&quot; width=&quot;263&quot; height=&quot;161&quot; /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Today morning I came across one news that,  my another article &lt;a href=&quot;http://www.dotnetfunda.com/articles/article818-filter-gridview-records-using-ajax-slider-control-.aspx&quot;&gt; “Filter GridView Records using AJAX Slider Control”&lt;/a&gt; has been selected as &lt;strong&gt;“Articles of the Day”&lt;/strong&gt; in &lt;em&gt;Microsoft’s official Web&lt;/em&gt; sitesite  &lt;a href=&quot;http://asp.net&quot;&gt;asp.net&lt;/a&gt; . It&#39;s always great to see any article as &lt;em&gt;&quot;Article of The Day&quot;&lt;/em&gt; in asp.net site.&lt;br/&gt;&lt;br/&gt;This article shows, how to sort the gridview content using AJAX Slider control.&lt;br/&gt;&lt;br/&gt;You can find complete article in &lt;a href=&quot;http://www.dotnetfunda.com/articles/article818-filter-gridview-records-using-ajax-slider-control-.aspx&quot;&gt;DotNetFunda.com&lt;/a&gt; .</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/2289757197430734317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2010/04/article-of-day-microsofts-official.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/2289757197430734317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/2289757197430734317'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2010/04/article-of-day-microsofts-official.html' title='“Article of the day” @ Microsoft’s official website www.asp.net'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-2391208583159703202</id><published>2010-03-14T06:34:00.000-07:00</published><updated>2010-05-22T09:35:11.024-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General"/><title type='text'>Beginner’s Guide: How IIS Process ASP.NET Request</title><content type='html'>&lt;em&gt;IIS (Internet Information Server)&lt;/em&gt; is one of the most powerful web servers from Microsoft that is used to host your ASP.NET Web application. IIS has it&#39;s own ASP.NET Process Engine  to handle the ASP.NET request. So, when a request comes from client to server, IIS takes that request and  process it and send response back to clients&lt;br/&gt;&lt;p style=&quot;text-align:center;&quot;&gt;&lt;a href=&quot;http://www.dotnetfunda.com/articles/article821-beginners-guide-how-iis-process-aspnet-request-.aspx&quot;&gt;&lt;img class=&quot;aligncenter&quot; title=&quot;IISProcessRequest&quot; src=&quot;http://abhijitjana.files.wordpress.com/2010/03/iisprocessrequest.jpg&quot; alt=&quot;&quot; width=&quot;450&quot; height=&quot;218&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br/&gt;When client request for some information from a web server, request first reaches to HTTP.SYS of IIS. HTTP.SYS then send the request to respective  Application Pool. Application Pool then forward the request to worker process to load the ISAPI Extension which will create an HTTPRuntime Object to Process the request via HTTPModule and HTTPHanlder. After that the ASP.NET Page LifeCycle events starts.&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://www.dotnetfunda.com/articles/article821-beginners-guide-how-iis-process-aspnet-request-.aspx&quot;&gt;&lt;img class=&quot;aligncenter size-full wp-image-431&quot; title=&quot;WithAll&quot; src=&quot;http://abhijitjana.files.wordpress.com/2010/03/withall.jpg&quot; alt=&quot;&quot; width=&quot;450&quot; height=&quot;255&quot; /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Complete Article has been published @ &lt;/strong&gt;&lt;a href=&quot;http://www.dotnetfunda.com/articles/article821-beginners-guide-how-iis-process-aspnet-request-.aspx&quot;&gt;DotNetFunda.Com&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;This article has also been shared@&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://digg.com/programming/Beginnera_s_Guide_How_IIS_Process_ASP_NET_Request&quot;&gt;digg.com&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://www.dotnetkicks.com/aspnet/Beginner_s_Guide_How_IIS_Process_ASP_NET_Request&quot;&gt;www.dotnetkicks.com&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://dotnetshoutout.com/Beginners-Guide-How-IIS-Process-ASPNET-Request&quot;&gt;dotnetshoutout.com&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://delicious.com/dotnetfunda&quot;&gt;delicious.com&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Please share your suggestion and feedback.</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/2391208583159703202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2010/03/beginners-guide-how-iis-process-aspnet.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/2391208583159703202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/2391208583159703202'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2010/03/beginners-guide-how-iis-process-aspnet.html' title='Beginner’s Guide: How IIS Process ASP.NET Request'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-7391609138936662355</id><published>2010-03-11T23:48:00.000-08:00</published><updated>2010-05-22T09:35:11.016-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET 4.0"/><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET"/><category scheme="http://www.blogger.com/atom/ns#" term="General"/><title type='text'>Filter GridView Records using AJAX Slider Control</title><content type='html'>Sometimes we need to filter the gridview data based on some range value. On that case we can use AJAX Slider control to provide scrollable Filter functionality with gridview control. Data source for the Gridview can be anything like XML or Database.&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2010/03/filter2.jpg&quot;&gt;&lt;img class=&quot;aligncenter size-full wp-image-426&quot; title=&quot;Filter2&quot; src=&quot;http://abhijitjana.files.wordpress.com/2010/03/filter2.jpg&quot; alt=&quot;&quot; width=&quot;450&quot; height=&quot;361&quot; /&gt;&lt;/a&gt;You can read the complete article and Implementation and download the sample application  from &lt;a href=&quot;http://www.dotnetfunda.com/articles/article818-filter-gridview-records-using-ajax-slider-control-.aspx&quot;&gt;DotNetFunda.Com&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;I will also write one article on AJAX MulipleSlider to filter the data based on minimumn and maximum value.&lt;br/&gt;&lt;br/&gt;Please share your valuable feedback and suggestion.</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/7391609138936662355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2010/03/filter-gridview-records-using-ajax.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/7391609138936662355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/7391609138936662355'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2010/03/filter-gridview-records-using-ajax.html' title='Filter GridView Records using AJAX Slider Control'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-4107142960557522843</id><published>2010-03-09T09:37:00.000-08:00</published><updated>2010-05-22T09:35:09.905-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General"/><title type='text'>Visual Studio 2010 - Extension (VSX) Contest Winner - From CodeProject</title><content type='html'>My&lt;a title=&quot;ZoomSliderVSX&quot; href=&quot;http://www.codeproject.com/KB/macros/ZoomSliderVSX.aspx&quot;&gt; ZoomSlider VSX&lt;/a&gt; Extension  has been selected as a prize winner for  &lt;a rel=&quot;nofollow&quot; href=&quot;http://www.codeproject.com/Competitions/376/Visual-Studio-Extension.aspx&quot; target=&quot;_blank&quot;&gt;Visual Studio 2010 Extension Contest&lt;/a&gt; for the category &lt;em&gt;&lt;strong&gt;“Most Useful Extension”! &lt;/strong&gt;&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;As &lt;em&gt;a prize I have Won&lt;strong&gt; &lt;/strong&gt;&lt;/em&gt;an &lt;strong&gt;Microsoft Zune HD With a touchscreen, HD Radio™, and HD video out (Zune® HD AV dock required), the new Zune® HD is the best Zune® yet.!&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2010/03/zune.jpg&quot;&gt;&lt;img class=&quot;aligncenter size-full wp-image-421&quot; title=&quot;Zune&quot; src=&quot;http://abhijitjana.files.wordpress.com/2010/03/zune.jpg&quot; alt=&quot;&quot; width=&quot;450&quot; height=&quot;253&quot; /&gt;&lt;/a&gt;&lt;br/&gt;&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;You can also find the article in &lt;a href=&quot;http://visualstudiogallery.msdn.microsoft.com/en-us/0b8aa1e9-a059-4d60-9267-bdd8285d6965&quot;&gt;MSDN Visual Studio Gallery&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;Thanks to all of  you &lt;strong&gt;.&lt;br/&gt;&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;&lt;br/&gt;&lt;/strong&gt;</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/4107142960557522843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2010/03/visual-studio-2010-extension-vsx.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/4107142960557522843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/4107142960557522843'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2010/03/visual-studio-2010-extension-vsx.html' title='Visual Studio 2010 - Extension (VSX) Contest Winner - From CodeProject'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-1038660577997656917</id><published>2010-03-01T05:04:00.000-08:00</published><updated>2010-05-22T09:35:09.891-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET 4.0"/><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET"/><category scheme="http://www.blogger.com/atom/ns#" term="General"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio 2010"/><title type='text'>ASP.NET 4.0 Features - MetaDescription and MetaKeywords</title><content type='html'>ASP.NET 4.0, came up with two new properties inside Page Class, those are MetaDescription and MetaKeyWord. This has been introduce because of make web application Search Engine Friendly. Search Engine looks for Meta tag of our web page to get the details of page contents. In ASP.NET 4.0, we can add these two properties with &lt;em&gt;Page class&lt;/em&gt; in Code behind or in &lt;em&gt;Page Directives&lt;/em&gt;.&lt;br/&gt;If you want to find out the definition of these two properties, Right Click on &lt;em&gt;Page Class&lt;/em&gt; and Click on &lt;em&gt;Goto Definition&lt;/em&gt;. This will show you the Meta data information of Page Class as shown in below picture&lt;br/&gt;&lt;a href=&quot;http://www.dotnetfunda.com/articles/article797-aspnet-40-features--metadescription-and-metakeywords-.aspx&quot;&gt;&lt;img class=&quot;aligncenter size-full wp-image-412&quot; title=&quot;Meta1&quot; src=&quot;http://abhijitjana.files.wordpress.com/2010/03/meta1.jpg&quot; alt=&quot;&quot; width=&quot;450&quot; height=&quot;165&quot; /&gt;&lt;/a&gt;&lt;br/&gt;If we set MetaDescription and MetaKeywords either from Code behind or using Page Directive in aspx page, both will be render as “meta” tag in html code.&lt;br/&gt;The main objective of MetaKeywords and MetaDescription proerties to make your web application SEO friendly. In ASP.NET 2.0, HtmlMeta used to do the same, but in ASP.NET 4.0 make these thing  very simple as we can easily add using Page Class.&lt;br/&gt;&lt;br/&gt;You can find the Complete Article over,  &lt;a href=&quot;http://www.dotnetfunda.com/articles/article797-aspnet-40-features--metadescription-and-metakeywords-.aspx&quot; target=&quot;_blank&quot;&gt;DotNetFunda.com&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;It has alreday been shared with&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://www.dotnetkicks.com/aspnet/ASP_NET_4_0_Features_MetaDescription_and_MetaKeywords&quot;&gt;www.dotnetkicks.com&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://dotnetshoutout.com/ASPNET-40-Features-MetaDescription-and-MetaKeywords&quot;&gt;dotnetshoutout.com&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://delicious.com/dotnetfunda&quot;&gt;delicious.com&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://digg.com/programming/ASP_NET_4_0_Features_MetaDescription_and_MetaKeywords&quot;&gt; digg.com&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;You can also follow me @ &lt;a href=&quot;http://twitter.com/AbhijitJana&quot;&gt;http://twitter.com/AbhijitJana&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/1038660577997656917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2010/03/aspnet-40-features-metadescription-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/1038660577997656917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/1038660577997656917'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2010/03/aspnet-40-features-metadescription-and.html' title='ASP.NET 4.0 Features - MetaDescription and MetaKeywords'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-1811177847395290877</id><published>2010-02-08T10:24:00.000-08:00</published><updated>2010-05-22T09:35:09.787-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Awards"/><category scheme="http://www.blogger.com/atom/ns#" term="General"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft ASP.NET Web Site"/><title type='text'>&amp;quot;Article of the day&amp;quot; @ Microsoft&amp;#39;s official website www.asp.net</title><content type='html'>Though it is little bit late to catch, but It&#39;s really great to see one of my ASP.NET article &lt;a&gt;Beginner&#39;s Guide : Exploring IIS 6.0 With ASP.NET&lt;/a&gt; was selected as &quot;&lt;strong&gt;Article of the Day&quot;&lt;/strong&gt; in &lt;strong&gt;Microsoft  Official Web Site&lt;/strong&gt; &lt;a href=&quot;www.asp.net&quot;&gt;www.asp.net&lt;/a&gt;. &lt;br/&gt;&lt;br/&gt;Thanks you all !</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/1811177847395290877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2010/02/of-day-microsoft-official-website.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/1811177847395290877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/1811177847395290877'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2010/02/of-day-microsoft-official-website.html' title='&amp;quot;Article of the day&amp;quot; @ Microsoft&amp;#39;s official website www.asp.net'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-5740115105505800311</id><published>2010-02-07T12:03:00.000-08:00</published><updated>2010-05-22T09:35:09.516-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET 4.0"/><category scheme="http://www.blogger.com/atom/ns#" term="C# 4.0"/><category scheme="http://www.blogger.com/atom/ns#" term="MSDN"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio 2010"/><category scheme="http://www.blogger.com/atom/ns#" term="VSX"/><category scheme="http://www.blogger.com/atom/ns#" term="WPF"/><title type='text'>ZoomSliderVSX -Visual Studio Extension (VSX) 2010 - Published @ MSDN&#xa;Visual Studio Gallery</title><content type='html'>Recently I have developed one VS 2010 Extension called ZoomSliderVSX. ZoomSliderVSX is an add-on functionality to zoom your source code inside VS 2010 Editor.  Though VS 2010 having inbuilt Zoom Level dropdown list to change the ZoomLevel value, but I didn’t find anything like Scrollable zoom features which is one of the most common features for any MS products. So here is ZoomSlider VS2010 Extension which will give the scrollable zoom functionality very easily. &lt;br/&gt;&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2010/02/preview111.jpg&quot;&gt;&lt;img class=&quot;aligncenter size-full wp-image-406&quot; title=&quot;Zoom Slider&quot; src=&quot;http://abhijitjana.files.wordpress.com/2010/02/preview111.jpg&quot; alt=&quot;Zoom Slider&quot; width=&quot;450&quot; height=&quot;231&quot; /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;I have published the addins in MSDN Site. You can download it from  &lt;a href=&quot;http://visualstudiogallery.msdn.microsoft.com/en-us/0b8aa1e9-a059-4d60-9267-bdd8285d6965&quot;&gt;MSDN Visual Studio Gallery&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;I will publish one complete article with source code @Codeproject Very Soon.&lt;br/&gt;&lt;br/&gt;Please provide me your suggestion and feedback for improvement.&lt;br/&gt;&lt;br/&gt;Regards,&lt;br/&gt;Abhijit</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/5740115105505800311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2010/02/zoomslidervsx-visual-studio-extension.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/5740115105505800311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/5740115105505800311'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2010/02/zoomslidervsx-visual-studio-extension.html' title='ZoomSliderVSX -Visual Studio Extension (VSX) 2010 - Published @ MSDN&#xa;Visual Studio Gallery'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-5926351382330190531</id><published>2010-01-15T19:27:00.000-08:00</published><updated>2010-05-22T09:35:09.253-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="codeproject"/><category scheme="http://www.blogger.com/atom/ns#" term="General"/><category scheme="http://www.blogger.com/atom/ns#" term="MVP"/><title type='text'>MVP (Most Valuable Professional) 2010 - Code Project</title><content type='html'>I have recognized by MVP (Most Valuable Professional) by Code Project again for the year 2010. This is second time I have been awarded with MVP.  I have received MVP because of&lt;a href=&quot;http://www.codeproject.com/Members/Abhijit-Jana&quot;&gt; Contribution to the Code Project Forum &lt;/a&gt; over the year 2009. &lt;br/&gt; I would like to congratulate all the&lt;a href=&quot;http://www.codeproject.com/script/Awards/MVPWinners.aspx&quot;&gt; MVP Winners 2010&lt;/a&gt;.&lt;br/&gt; I would like to thank all my readers, friends and well wishers and thanks to Chirs  Maunder(Co- Founder of Code Project), Sacha Barber , Rajesh R Subramanian , Christian Graus , Abhishek Sur and all CP Members</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/5926351382330190531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2010/01/mvp-most-valuable-professional-2010.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/5926351382330190531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/5926351382330190531'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2010/01/mvp-most-valuable-professional-2010.html' title='MVP (Most Valuable Professional) 2010 - Code Project'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-5145549955108500451</id><published>2010-01-10T06:43:00.000-08:00</published><updated>2010-05-22T09:35:09.171-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET 4.0"/><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Enterprise Library 4.1"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio 2010"/><title type='text'>My New Article : Exploring Caching : Using Caching Application&#xa;Enterprise Library 4.1</title><content type='html'>Enterprise Library caching application Block provides ready to use Caching Framework. This   can be used in various application like&lt;br/&gt;&lt;br/&gt;* ASP.NET Web application&lt;br/&gt;* Windows Forms&lt;br/&gt;* Console&lt;br/&gt;* Windows Service&lt;br/&gt;* Enterprise Services&lt;br/&gt;* Web service&lt;br/&gt;Implementing caching using Caching Application Block improve the performance of application as well as reduces the development time and cost. This Application blocks provides all kinds of function like &lt;em&gt;adding&lt;/em&gt;, &lt;em&gt;removing&lt;/em&gt;, &lt;em&gt;managing expiration of cache&lt;/em&gt;.&lt;br/&gt;As caching application block is predefined set of code and that are defined in a framework for that we need install Enterprise Library 4.1 First then we need  to add some reference in to our application. These are&lt;em&gt; Microsoft.Practices.EnterpriseLibrary.Caching.dll&lt;/em&gt; and &lt;em&gt;Microsoft.Practices.EnterpriseLibrary.common.dll&lt;/em&gt;.&lt;br/&gt;&lt;br/&gt;I have published one complete article on &lt;em&gt;Codeproject.com&lt;/em&gt; which describe how to use Enterprise Caching Application Block 4.1 . Here is my complete article&lt;br/&gt;&lt;a href=&quot;http://www.codeproject.com/KB/web-cache/CachingApplicationBlock.aspx&quot;&gt;Exploring Caching : Using Caching Application Enterprise Library 4.1&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Please provide your valuable suggestion and feedback to improve my articles.&lt;br/&gt;&lt;br/&gt;Thank you !</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/5145549955108500451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2010/01/my-new-article-exploring-caching-using.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/5145549955108500451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/5145549955108500451'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2010/01/my-new-article-exploring-caching-using.html' title='My New Article : Exploring Caching : Using Caching Application&#xa;Enterprise Library 4.1'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-2554918102867749071</id><published>2010-01-04T09:48:00.000-08:00</published><updated>2010-05-22T09:35:09.033-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET 4.0"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio 2010"/><title type='text'>Excellent Debugging Features in Visual Studio 2010 Beta 2</title><content type='html'>The Visual Studio 2010 IDE is simply great and came up with many new features within it. I have found one of the great and innovative features in Debugging style in VS 2010 Professional Beta 2 that is Pin/Unpin Object/Variable Inspect or Data Tip.&lt;br/&gt;&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2010/01/debugging1.jpg&quot;&gt;&lt;img class=&quot;aligncenter size-full wp-image-391&quot; title=&quot;Debugging1&quot; src=&quot;http://abhijitjana.files.wordpress.com/2010/01/debugging1.jpg&quot; alt=&quot;&quot; width=&quot;389&quot; height=&quot;111&quot; /&gt;&lt;/a&gt;&lt;br/&gt;while debugging in visual studio we generally used mouse over on the object or variable to inspect the current value. This shows the current data items hold by the inspected object. But this is for limited time, as long as long the mouse is pointed to that object those value will be available. But in Visual Studio 2010 Beta 2, there is a great feature to pin and unpin this inspected value. We can pin as many of any object and there sub object value also. Please have a look into below picture.&lt;br/&gt;&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2010/01/debugging2.jpg&quot;&gt;&lt;img class=&quot;aligncenter size-full wp-image-392&quot; title=&quot;Debugging2&quot; src=&quot;http://abhijitjana.files.wordpress.com/2010/01/debugging2.jpg&quot; alt=&quot;&quot; width=&quot;449&quot; height=&quot;72&quot; /&gt;&lt;/a&gt;Apart from that there are many features like Drag and Drop Tip, Add Comments on tip etc. Here is my one complete article on CodeProject. Please have a look&lt;br/&gt;&lt;a href=&quot;http://www.codeproject.com/KB/debug/VS2010Debugging.aspx&quot;&gt;Excellent Debugging Features in Visual Studio 2010 Beta 2&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Please provide your suggestion and feedback.</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/2554918102867749071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2010/01/excellent-debugging-features-in-visual.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/2554918102867749071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/2554918102867749071'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2010/01/excellent-debugging-features-in-visual.html' title='Excellent Debugging Features in Visual Studio 2010 Beta 2'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-7002190537616157370</id><published>2009-12-31T10:31:00.000-08:00</published><updated>2010-05-22T09:35:08.867-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General"/><title type='text'>Happy New Year 2010</title><content type='html'>I wish all my readers, friends and well wishers a very prosperous New Year 2010... &lt;br/&gt;&lt;br/&gt;Wish you all lots of joy and happiness.&lt;br/&gt;&lt;br/&gt;Regards,&lt;br/&gt;Abhijit</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/7002190537616157370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2009/12/happy-new-year-2010.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/7002190537616157370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/7002190537616157370'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2009/12/happy-new-year-2010.html' title='Happy New Year 2010'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-6477007099917394052</id><published>2009-11-07T20:15:00.000-08:00</published><updated>2010-05-22T09:35:08.857-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General"/><title type='text'>Prize winner in Competition “Best ASP.NET article of Sept 2009″</title><content type='html'>Sorry to post it little bit later, I was out of station for few weeks and great to see that I have own the first prize in the article competition for my article &lt;a href=&quot;http://www.codeproject.com/KB/aspnet/ExploringIIS.aspx&quot;&gt;Exploring IIS 6.0 With ASP.NET&lt;/a&gt; . This is fourth times in this year I have received the prizes from codeproject. Thanks to all of you who read my articles and vote for it.&lt;br/&gt;&lt;br/&gt;Thanks again to all of you. Hope to publish many more articles for you !</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/6477007099917394052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2009/11/prize-winner-in-competition-best-aspnet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/6477007099917394052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/6477007099917394052'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2009/11/prize-winner-in-competition-best-aspnet.html' title='Prize winner in Competition “Best ASP.NET article of Sept 2009″'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-4562063501557342832</id><published>2009-10-21T20:14:00.000-07:00</published><updated>2010-05-22T09:35:05.919-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General"/><title type='text'>Who is Accessing Your System ?</title><content type='html'>This is quite interesting to know that who is accessing your shared folder in network.  We can easily get the information of that user and even you can track what is the activity he is doing in your system. We can achieve this using &lt;em&gt;&lt;strong&gt;WMI&lt;/strong&gt; (Windows Management Instrumentation)&lt;/em&gt; and &lt;em&gt;&lt;strong&gt;MQL&lt;/strong&gt; (  Management Query Language )&lt;/em&gt; .&lt;br/&gt;&lt;br/&gt;For using WMI you need to add one DLL called &lt;strong&gt;System.Management.dll &lt;/strong&gt;and add the namespace as&lt;br/&gt;&lt;br/&gt;[sourcecode language=&quot;csharp&quot;]&lt;br/&gt;using System.Management&lt;br/&gt;[/sourcecode]&lt;br/&gt;&lt;br/&gt;Now Read the current Session of your system.&lt;br/&gt;&lt;br/&gt;[sourcecode language=&quot;csharp&quot;]&lt;br/&gt;private  void Read_Current_Session()&lt;br/&gt;        {&lt;br/&gt;           try&lt;br/&gt;            {&lt;br/&gt;                ManagementObjectSearcher searcher =&lt;br/&gt;                   new ManagementObjectSearcher(&amp;quot;root\\CIMV2&amp;quot;,&lt;br/&gt;                   &amp;quot;SELECT * FROM Win32_ServerConnection&amp;quot;);&lt;br/&gt;                foreach (ManagementObject queryObj in searcher.Get())&lt;br/&gt;                {&lt;br/&gt;                   String RemoteIPAddress = queryObj[&amp;quot;ComputerName&amp;quot;].ToString();&lt;br/&gt;                   String RemoteUserName = queryObj[&amp;quot;UserName&amp;quot;].ToString();&lt;br/&gt;                   String  RemoteActiveTime = queryObj[&amp;quot;ActiveTime&amp;quot;].ToString();&lt;br/&gt;                }&lt;br/&gt;            }&lt;br/&gt;            catch (ManagementException e)&lt;br/&gt;            {&lt;br/&gt;               MessageBox.Show(&amp;quot;WMI Error: &amp;quot; + e.Message);&lt;br/&gt;            }&lt;br/&gt;        }&lt;br/&gt;[/sourcecode]&lt;br/&gt;&lt;br/&gt;Few Years back I have developed one Open Source Tool (NetSpY) based on WMI and MQL. NetSpy (NetWorkSpy) is an Small Windows based application which will continiouly monitor your shared folder in the network and will generate the complete log of the accessing user activities. This can show you the immidiate popup message that who is accessing right now.&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://www.codeproject.com/KB/cs/NetWorkSpy.aspx&quot;&gt;&lt;img class=&quot;aligncenter&quot; src=&quot;http://www.codeproject.com/KB/cs/NetWorkSpy/New_Block_Diagrams_Net.JPG&quot; alt=&quot;&quot; width=&quot;400&quot; height=&quot;430&quot; /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;If you are interested please have a look over here,&lt;br/&gt;&lt;a href=&quot;http://www.codeproject.com/KB/cs/NetWorkSpy.aspx&quot;&gt;Net Spy: Your Network Spy That Monitor Your System In Network And Generate Log For Any Changes&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/4562063501557342832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2009/10/who-is-accessing-your-system.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/4562063501557342832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/4562063501557342832'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2009/10/who-is-accessing-your-system.html' title='Who is Accessing Your System ?'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-8294465713585703100</id><published>2009-10-19T13:41:00.000-07:00</published><updated>2010-05-22T09:35:05.028-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET"/><category scheme="http://www.blogger.com/atom/ns#" term="ASP.Net"/><category scheme="http://www.blogger.com/atom/ns#" term="C# 4.0"/><category scheme="http://www.blogger.com/atom/ns#" term="codeproject"/><category scheme="http://www.blogger.com/atom/ns#" term="MVC"/><category scheme="http://www.blogger.com/atom/ns#" term="MVC Framework"/><title type='text'>Beginners Guide’s to ASP.NET MVC Framework – Part 1 of n</title><content type='html'>&lt;a style=&quot;display:none;&quot; rel=&quot;tag&quot; href=&quot;http://abhijitjana.net&quot;&gt;CodeProject&lt;/a&gt;&lt;br/&gt;This article describes overview of ASP.NET MVC Framework , MVC Control Flow etc.&lt;br/&gt;&lt;br/&gt;This article is the Part 1 of the ASP.NET MVC Framework series.  In this article I have describes very basic over view of MVC Framework and the control flow of MVC. I will write a few articles in this series which will help all the beginners to move ahead. This article is only about what MVC is.&lt;br/&gt;&lt;h3&gt;Overview&lt;/h3&gt;&lt;br/&gt;The Model-View-Controller (MVC) design pattern is an architectural design patterns for any standard development that separates the components of an application. This allows application to handle very flexible and extensible and easy to handle. ASP.NET MVC Framework is also one of the standard web development frameworks which separate the components of web development application different components.&lt;br/&gt;&lt;br/&gt;ASP.NET MVC Framework having three main components&lt;br/&gt;&lt;ol&gt;&lt;br/&gt;	&lt;li&gt;Model&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;View&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Controller&lt;/li&gt;&lt;br/&gt;&lt;/ol&gt;&lt;br/&gt;&lt;img class=&quot;aligncenter size-full wp-image-347&quot; title=&quot;4&quot; src=&quot;http://abhijitjana.files.wordpress.com/2009/10/4.jpg&quot; alt=&quot;4&quot; width=&quot;282&quot; height=&quot;240&quot; /&gt;&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Model:&lt;/strong&gt; The model manages the behavior and data of the application domain, responds to requests for information about its state from the view, and responds to instructions to change state (usually from the controller).&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;View:&lt;/strong&gt; This represent the presentation layer of the web application. The view manages the display of information based on the data of model that is requested by controller.&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Controller:&lt;/strong&gt; Controller handles the user interaction with the web application.  User request comes through controller to model and manipulate the records from it and then render the data using View to UI.&lt;br/&gt;&lt;br/&gt;Below diagram showing the overview of these three components&lt;br/&gt;&lt;br/&gt;&lt;img class=&quot;aligncenter size-full wp-image-344&quot; title=&quot;1&quot; src=&quot;http://abhijitjana.files.wordpress.com/2009/10/1.jpg&quot; alt=&quot;1&quot; width=&quot;323&quot; height=&quot;235&quot; /&gt;&lt;br/&gt;&lt;h3&gt;Request Flow for ASP.NET MVC Framework&lt;/h3&gt;&lt;br/&gt;&lt;ol&gt;&lt;br/&gt;	&lt;li&gt;Request comes from User to Controller&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Controller processes request and forms a data Model&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Model is passed to View&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;View transforms Model into appropriate output format&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Response is rendered to Browser&lt;/li&gt;&lt;br/&gt;&lt;/ol&gt;&lt;br/&gt;&lt;img class=&quot;aligncenter size-full wp-image-345&quot; title=&quot;2&quot; src=&quot;http://abhijitjana.files.wordpress.com/2009/10/2.jpg&quot; alt=&quot;2&quot; width=&quot;450&quot; height=&quot;280&quot; /&gt;&lt;br/&gt;&lt;br/&gt;Above picture showing you the actual flow of ASP.NET MVP Framework.  Request comes from client to Controller and controller decided which model to used and based on that data rendered into browser.&lt;br/&gt;&lt;br/&gt;Now, just have a closer look into to the MVC Flow,&lt;br/&gt;&lt;br/&gt;&lt;img class=&quot;aligncenter size-full wp-image-346&quot; title=&quot;3&quot; src=&quot;http://abhijitjana.files.wordpress.com/2009/10/3.jpg&quot; alt=&quot;3&quot; width=&quot;450&quot; height=&quot;125&quot; /&gt;&lt;br/&gt;&lt;br/&gt;In the next article I will give the explanation of each of every step. You just need to remember these are the basic flow of an MVC Application.&lt;br/&gt;&lt;h3&gt;ASP.NET Web Forms and  MVC&lt;/h3&gt;&lt;br/&gt;MVC is not a replacement if ASP.NET Web Form based development. This seats on the top of ASP.NET Development.  MVC Framework simply divides the overall application architecture into three components.&lt;br/&gt;&lt;br/&gt;For More information on the basic of MVC Framework please read :&lt;br/&gt;&lt;a href=&quot;http://www.asp.net/Learn/mvc/tutorial-01-cs.aspx&quot;&gt;ASP.NET MVC Overview (C#)&lt;/a&gt;&lt;br/&gt;&lt;h3&gt;Summary&lt;/h3&gt;&lt;br/&gt;This is the startup article for MVC beginners. Many more to come. Where I will explain details of each of them with sample application. Finally there would be a complete ASP.NET project on MVC Framework. Hope this series will be helpful for all.</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/8294465713585703100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2009/10/beginners-guides-to-aspnet-mvc.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/8294465713585703100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/8294465713585703100'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2009/10/beginners-guides-to-aspnet-mvc.html' title='Beginners Guide’s to ASP.NET MVC Framework – Part 1 of n'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-550366656495141273</id><published>2009-10-10T12:05:00.000-07:00</published><updated>2010-05-22T09:35:04.922-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General"/><category scheme="http://www.blogger.com/atom/ns#" term="My Articles"/><title type='text'>Using Bookmark in Visual Studio</title><content type='html'>&lt;a href=&quot;http://abhijitjana.net&quot; style=&quot;display:none;&quot; rel=&quot;tag&quot;&gt;CodeProject&lt;/a&gt;&lt;br/&gt;&lt;h3&gt;Introduction&lt;/h3&gt;&lt;br/&gt;As name suggests, bookmarking speedup your code navigation in visual studio. There may be some portion of code where we need to move very frequently. Generally we scroll the page and move to that section, but Visual studio provides great features by which we can move to a particular section very quickly using some shortcut keys. This is called Bookmarking of Code.&lt;br/&gt;Below are the set of Icons which are used to navigate the code using Bookmark.&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2009/10/bookmark1.jpg&quot;&gt;&lt;img class=&quot;alignnone size-full wp-image-314&quot; title=&quot;BookMark1&quot; src=&quot;http://abhijitjana.files.wordpress.com/2009/10/bookmark1.jpg&quot; alt=&quot;BookMark1&quot; width=&quot;191&quot; height=&quot;25&quot; /&gt;&lt;/a&gt;&lt;br/&gt;&lt;h3&gt;How To Use&lt;/h3&gt;&lt;br/&gt;We can place the bookmark by clicking on Bookmark icon or using keys &lt;code&gt;Ctrl + K, Ctrl + K.&lt;/code&gt; Below is the sample code where I have putted two bookmarks in different section of code.&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2009/10/bookmark2.jpg&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2009/10/bookmark2.jpg&quot;&gt;&lt;img class=&quot;alignnone size-full wp-image-315&quot; title=&quot;BookMark2&quot; src=&quot;http://abhijitjana.files.wordpress.com/2009/10/bookmark2.jpg&quot; alt=&quot;BookMark2&quot; width=&quot;366&quot; height=&quot;156&quot; /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Now we can easily navigate among those breakpoint using &lt;code&gt;Ctrl + K, Ctrl + N&lt;/code&gt; for  Next Bookmark  and &lt;code&gt;Ctrl + K , Ctrl + p&lt;/code&gt; for Previous  mark. We can achieve the same using following toolbar icon.&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2009/10/bookmark3.jpg&quot;&gt;&lt;img class=&quot;alignnone size-full wp-image-316&quot; title=&quot;BookMark3&quot; src=&quot;http://abhijitjana.files.wordpress.com/2009/10/bookmark3.jpg&quot; alt=&quot;BookMark3&quot; width=&quot;45&quot; height=&quot;25&quot; /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;This is very much easy to use and its give you very fast navigation throughout the code.&lt;br/&gt;&lt;h3&gt;Using Bookmark Window:&lt;/h3&gt;&lt;br/&gt;Visual Studio provides you Bookmark window where you can get list of all bookmarked section.&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2009/10/bookmark4.jpg&quot;&gt;&lt;img class=&quot;alignnone size-full wp-image-317&quot; title=&quot;BookMark4&quot; src=&quot;http://abhijitjana.files.wordpress.com/2009/10/bookmark4.jpg&quot; alt=&quot;BookMark4&quot; width=&quot;449&quot; height=&quot;154&quot; /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Now, by selecting particular bookmark from the Bookmarks list we can easily move to the particular section.&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2009/10/bookmark5.jpg&quot;&gt;&lt;img class=&quot;alignnone size-full wp-image-318&quot; title=&quot;BookMark5&quot; src=&quot;http://abhijitjana.files.wordpress.com/2009/10/bookmark5.jpg&quot; alt=&quot;BookMark5&quot; width=&quot;450&quot; height=&quot;157&quot; /&gt;&lt;/a&gt;&lt;br/&gt;&lt;h3&gt;Renaming BookMarks&lt;/h3&gt;&lt;br/&gt;For easy reference we can also rename bookmark so that we can easily identify them. This helps us to easily move to particular code block based on the name given.  This is useful when we are having many bookmarks in the bookmark list.&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2009/10/bookmark6.jpg&quot;&gt;&lt;img class=&quot;alignnone size-full wp-image-319&quot; title=&quot;BookMark6&quot; src=&quot;http://abhijitjana.files.wordpress.com/2009/10/bookmark6.jpg&quot; alt=&quot;BookMark6&quot; width=&quot;318&quot; height=&quot;174&quot; /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;As I have renamed my bookmark list as below&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://abhijitjana.files.wordpress.com/2009/10/bookmark7.jpg&quot;&gt;&lt;img class=&quot;alignnone size-full wp-image-320&quot; title=&quot;BookMark7&quot; src=&quot;http://abhijitjana.files.wordpress.com/2009/10/bookmark7.jpg&quot; alt=&quot;BookMark7&quot; width=&quot;230&quot; height=&quot;162&quot; /&gt;&lt;/a&gt;&lt;br/&gt;&lt;h3&gt;Summary&lt;/h3&gt;&lt;br/&gt;This may not be new to many of us, but it may helpful for some beginners.  Using this features we can navingate our code very easily. Please provide your valuable suggestion and feedback.&lt;br/&gt;&lt;!-- AddThis Button BEGIN --&gt;&lt;br/&gt;&lt;a class=&quot;addthis_button&quot; href=&quot;http://www.addthis.com/bookmark.php?v=250&amp;amp;pub=xa-4ad0f7b43479166c&quot;&gt;&lt;img src=&quot;http://s7.addthis.com/static/btn/v2/lg-share-en.gif&quot; width=&quot;125&quot; height=&quot;16&quot; alt=&quot;Bookmark and Share&quot;&gt;&lt;/a&gt;&lt;br/&gt;&lt;!-- AddThis Button END --&gt;</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/550366656495141273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2009/10/using-bookmark-in-visual-studio.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/550366656495141273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/550366656495141273'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2009/10/using-bookmark-in-visual-studio.html' title='Using Bookmark in Visual Studio'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3425604646637005787.post-3267819022126328473</id><published>2009-09-29T10:49:00.000-07:00</published><updated>2010-05-22T09:35:04.911-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET"/><category scheme="http://www.blogger.com/atom/ns#" term="My Articles"/><title type='text'>My New Article : Beginner&amp;#39;s Guide : Exploring IIS 6.0 With ASP.NET</title><content type='html'>Today,  I have published another article on IIS 6.0 at codeproject. This article is for the beginners who are trying to learn something on IIS. This article gives a complete coverage of  IIS, Hosting sites on IIS, Application pool creation, and IIS Request Processing for ASP.NET Web Application .&lt;br/&gt;&lt;a href=&quot;http://www.codeproject.com/KB/aspnet/ExploringIIS.aspx&quot;&gt;&lt;img src=&quot;http://www.codeproject.com/KB/aspnet/ExploringIIS/app15.jpg&quot; alt=&quot;null&quot; width=&quot;90%&quot; align=&quot;center&quot; /&gt;&lt;/a&gt;&lt;br/&gt; I have also mentioned few Tips which are very commonly used in dealing with IIS. Hope this will help the beginners who are struggling with site hosting on IIS and  configure it. Please read full article @ &lt;a href=&quot;http://www.codeproject.com/KB/aspnet/ExploringIIS.aspx&quot;&gt;Beginner&#39;s Guide : Exploring IIS 6.0 With ASP.NET &lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Please give your valuable suggestion and feedback to improve this article.</content><link rel='replies' type='application/atom+xml' href='http://abhijitjana.blogspot.com/feeds/3267819022126328473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitjana.blogspot.com/2009/09/my-new-article-beginner-guide-exploring.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/3267819022126328473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3425604646637005787/posts/default/3267819022126328473'/><link rel='alternate' type='text/html' href='http://abhijitjana.blogspot.com/2009/09/my-new-article-beginner-guide-exploring.html' title='My New Article : Beginner&amp;#39;s Guide : Exploring IIS 6.0 With ASP.NET'/><author><name>Abhijit Jana</name><uri>http://www.blogger.com/profile/14421602868389317639</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhSPoRDZf53bsEm9VuQ0pbva0xIhl9GTwO5_sYIXA-_BFLt953vKTVd2ZTrZKtYgpJYwuYKBUV7rCGN72f-QN_3QFxSrNxvsGIdudjTzbEGnE9-DqPKw4BQ_9ZeiKaB8E/s220/{d0154758-4afd-448b-9612-e43ca749dc13}.jpg'/></author><thr:total>0</thr:total></entry></feed>