<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Vijay Kodali's Blog</title><subtitle type="html" /><id>http://weblogs.asp.net/kodali/atom.aspx</id><link rel="alternate" type="text/html" href="http://weblogs.asp.net/kodali/default.aspx" /><link rel="self" type="application/atom+xml" href="http://weblogs.asp.net/kodali/atom.aspx" /><generator uri="http://communityserver.org" version="3.0.20510.895">Community Server</generator><updated>2009-12-10T00:14:00Z</updated><entry><title>Asp.Net Security ebook</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/kodali/archive/2011/12/29/asp-net-security-ebook.aspx" /><id>http://weblogs.asp.net/kodali/archive/2011/12/29/asp-net-security-ebook.aspx</id><published>2011-12-30T01:05:00Z</published><updated>2011-12-30T01:05:00Z</updated><content type="html">&lt;p&gt;If you want to read one book about Asp.Net security, read &lt;a href="http://asafaweb.com/OWASP%20Top%2010%20for%20.NET%20developers.pdf" target="_blank"&gt;OWASP Top 10 for .NET developer&lt;/a&gt; by &lt;a href="http://www.troyhunt.com/" target="_blank"&gt;Troy Hunt&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; There’s a harsh reality web application developers need to face up to; we don’t do security very well. A report from WhiteHat Security last year reported “83% of websites have had a high, critical or urgent issue”. That is, quite simply, a staggeringly high number and it’s only once you start to delve into to depths of web security that you begin to understand just how easy it is to inadvertently produce vulnerable code.&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=8194201" width="1" height="1"&gt;</content><author><name>budugu</name><uri>http://weblogs.asp.net/members/budugu.aspx</uri></author><category term="Asp.Net" scheme="http://weblogs.asp.net/kodali/archive/tags/Asp.Net/default.aspx" /><category term="Visual Studio" scheme="http://weblogs.asp.net/kodali/archive/tags/Visual+Studio/default.aspx" /><category term="General Software Development" scheme="http://weblogs.asp.net/kodali/archive/tags/General+Software+Development/default.aspx" /></entry><entry><title>Visual Studio 2010 running very slow?</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/kodali/archive/2011/01/24/visual-studio-2010-running-very-slow.aspx" /><id>http://weblogs.asp.net/kodali/archive/2011/01/24/visual-studio-2010-running-very-slow.aspx</id><published>2011-01-24T20:25:00Z</published><updated>2011-01-24T20:25:00Z</updated><content type="html">&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 130%; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;SPAN style="FONT-SIZE: 9pt; LINE-HEIGHT: 130%; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;o:p&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 130%; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; LINE-HEIGHT: 130%; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;Here is couple of things to check to improve performance of visual studio 2010&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; 
&lt;UL type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;If you are using Visual Studio 2010 Ultimate and Windows7:&amp;nbsp;Disable Intellitrace (Tools -&amp;gt;Options-&amp;gt;Intellitrace)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;UL type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo2; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;If you are using Windows XP, Visual Studio 2010 runs faster when the &lt;A href="http://support.microsoft.com/kb/981741" target=_blank mce_href="http://support.microsoft.com/kb/981741"&gt;&lt;FONT color=#800080&gt;Windows Automation API 3.0&lt;/FONT&gt;&lt;/A&gt; is installed&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: Arial"&gt;Applications that use Windows Automation APIs can significantly decrease Microsoft Visual Studio IntelliSense performance if Windows Automation API 3.0 is not installed. For example, the Windows pen and touch services can significantly decrease Visual Studio IntelliSense performance if Windows Automation API 3.0 is not installed. This update is available as a stand-alone download for 32-bit editions of Windows XP and for Windows Server 2003.&amp;nbsp;The Windows Automation API is a component of the platform update for Windows Vista and of the platform update for Windows Server 2008.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7689165" width="1" height="1"&gt;</content><author><name>budugu</name><uri>http://weblogs.asp.net/members/budugu.aspx</uri></author><category term="Visual Studio" scheme="http://weblogs.asp.net/kodali/archive/tags/Visual+Studio/default.aspx" /></entry><entry><title>Logo for HTML5</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/kodali/archive/2011/01/18/logo-for-html5.aspx" /><id>http://weblogs.asp.net/kodali/archive/2011/01/18/logo-for-html5.aspx</id><published>2011-01-18T17:46:00Z</published><updated>2011-01-18T17:46:00Z</updated><content type="html">&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;The World Wide Web Consortium (WC3) today introduced a new logo for HTML5, which it hopes will help promote the emerging Web standard.&lt;/SPAN&gt;&lt;/P&gt;&lt;BR&gt;&lt;IMG title=HTML5 style="WIDTH: 256px; HEIGHT: 256px" height=256 alt=HTML5 src="http://www.w3.org/html/logo/downloads/HTML5_Logo_256.png" width=256 align=middle mce_src="http://www.w3.org/html/logo/downloads/HTML5_Logo_256.png"&gt; &lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;What’s HTML5? &lt;/STRONG&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;HTML5 is the next major revision of the HTML standard for structuring and presenting content on the World Wide Web. HTML5 adds new elements for things like sections of a document and articles, and figures and captions for figures.&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;STRONG&gt; &lt;BR&gt;&lt;BR&gt;Why HTML5? &lt;BR&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;Web Developers are commonly asked to create applications which stream videos, display fluid animations, play music etc. In many cases if one wanted to achieve all of these things you had to leverage on a number of different technologies like Flash, Silverlight, etc. This requirement to learn new languages and plug-in can increase the development time. HTML5 changes this – with support for high-quality animation, video and audio embedding as well as many other types of rich content. &lt;BR&gt;There are a few exciting new elements in HTML 5:&lt;/SPAN&gt; &lt;BR&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&amp;lt;canvas&amp;gt; - an element to give you a drawing space in JavaScript on your Web pages. It can let you add images or graphs to tool tips or just create dyanmic graphs on your Web pages, built on the fly. &lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&amp;lt;video&amp;gt; - add video to your Web pages with this simple tag. &lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&amp;lt;audio&amp;gt; - add sound to your Web pages with this simple tag.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;Here's a full list of new HTML5 features&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;A href="http://webdesign.about.com/od/html5/a/html_5_whats_new.htm"&gt;&lt;FONT color=#800080&gt;http://webdesign.about.com/od/html5/a/html_5_whats_new.htm&lt;/FONT&gt;&lt;/A&gt; &lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Browser support for HTML5:&lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;BR&gt;&lt;BR&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;Each browser has its own rules and characteristics and each one is adopting HTML5 at its own rate.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Here is a good browser compatibility chart for HTML5 &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;(From &lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;A href="http://www.focus.com/images/view/11905/"&gt;http://www.focus.com/images/view/11905/&lt;/A&gt;&amp;nbsp;&lt;/SPAN&gt;)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;o:p&gt;&lt;IMG title="HTML5 Browser support" style="WIDTH: 700px; HEIGHT: 600px" height=600 alt="HTML5 Browser support" src="http://media.focus.com/images/uploaded/fyi/wtf-html5-infographic/HTML5__.jpg" width=700 mce_src="http://media.focus.com/images/uploaded/fyi/wtf-html5-infographic/HTML5__.jpg"&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt; &lt;/STRONG&gt;
&lt;P mce_keep="true"&gt;Another comparsion: &lt;A href="http://www.findmebyip.com/litmus/"&gt;http://www.findmebyip.com/litmus/&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;HTML5 Support in Visual Studio 2010:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Install this tool from Microsoft Gallery for HTML 5 Intellisense&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://visualstudiogallery.msdn.microsoft.com/en-us/d771cbc8-d60a-40b0-a1d8-f19fc393127d"&gt;http://visualstudiogallery.msdn.microsoft.com/en-us/d771cbc8-d60a-40b0-a1d8-f19fc393127d&lt;/A&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7685588" width="1" height="1"&gt;</content><author><name>budugu</name><uri>http://weblogs.asp.net/members/budugu.aspx</uri></author><category term="Asp.Net" scheme="http://weblogs.asp.net/kodali/archive/tags/Asp.Net/default.aspx" /><category term="General Software Development" scheme="http://weblogs.asp.net/kodali/archive/tags/General+Software+Development/default.aspx" /><category term="HTML5" scheme="http://weblogs.asp.net/kodali/archive/tags/HTML5/default.aspx" /><category term="visual Studio 2010" scheme="http://weblogs.asp.net/kodali/archive/tags/visual+Studio+2010/default.aspx" /></entry><entry><title>Alert user when their session is about to expire</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/kodali/archive/2010/05/21/alert-user-when-their-session-is-about-to-expire.aspx" /><id>http://weblogs.asp.net/kodali/archive/2010/05/21/alert-user-when-their-session-is-about-to-expire.aspx</id><published>2010-05-21T14:07:00Z</published><updated>2010-05-21T14:07:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; Cross posted from &lt;A href="http://www.vijaykodali.com/blog" mce_href="http://www.vijaykodali.com/blog"&gt;Vijay Kodali's Blog&lt;/A&gt;. &lt;BR&gt;&lt;A href="http://www.vijaykodali.com/Blog/post/2010/05/20/Alert-user-before-session-timeout.aspx" mce_href="http://www.vijaykodali.com/Blog/post/2010/05/20/Alert-user-before-session-timeout.aspx"&gt;Permalink&lt;/A&gt; &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;Here is a quick&amp;nbsp;and dirty trick to alert users on session timeout. This is &lt;B&gt;not&lt;/B&gt; a perfect solution. But it will give reader an idea to work on...&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Some facts before we start:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;Session &lt;U&gt;doesn't&lt;/U&gt; end &lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT color=#ff0000&gt;When the user closes his browser &lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#ff0000&gt;When the user navigates away from your page &lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#ff0000&gt;When user connection lost.&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;Session ends, when the server hasn't gotten a request from the user in a specific time (Session timeout value).&lt;SPAN&gt;...&lt;A href="http://www.vijaykodali.com/Blog/post/2010/05/20/Alert-user-before-session-timeout.aspx" mce_href="http://www.vijaykodali.com/Blog/post/2010/05/20/Alert-user-before-session-timeout.aspx"&gt;Permalink&lt;/A&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7494970" width="1" height="1"&gt;</content><author><name>budugu</name><uri>http://weblogs.asp.net/members/budugu.aspx</uri></author><category term="Asp.Net" scheme="http://weblogs.asp.net/kodali/archive/tags/Asp.Net/default.aspx" /><category term="Visual Studio" scheme="http://weblogs.asp.net/kodali/archive/tags/Visual+Studio/default.aspx" /></entry><entry><title>Asp.net session on browser close</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/kodali/archive/2010/04/29/asp-net-session-on-browser-close.aspx" /><id>http://weblogs.asp.net/kodali/archive/2010/04/29/asp-net-session-on-browser-close.aspx</id><published>2010-04-30T01:40:37Z</published><updated>2010-04-30T01:40:37Z</updated><content type="html">&lt;b&gt;Note:&lt;/b&gt; Cross posted from &lt;a href="http://www.vijaykodali.com/blog"&gt;Vijay Kodali's Blog&lt;/a&gt;.
&lt;br /&gt;&lt;a href="http://www.vijaykodali.com/Blog/post/2010/04/29/Aspnet-session-on-browser-close.aspx"&gt;Permalink&lt;/a&gt;
&lt;br /&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;How to capture logoff time when user closes browser?&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Or &lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;How to end user session when browser closed?&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;These are some of the frequently asked questions in asp.net forums. &lt;/p&gt;  &lt;p&gt;In this post I'll show you how to do this when you're building an ASP.NET web application.&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;Before we start, one fact:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;There is &lt;strong&gt;no&lt;/strong&gt; full-proof technique to catch the browser close event for 100% of time. The trouble lies in the stateless nature of HTTP. The Web server is out of the picture as soon as it finishes sending the page content to the client. After that, all you can rely on is a client side script. Unfortunately, there is no reliable client side event for browser close. &lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;Solution:&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;The first thing you need to do is create the web service. I've added web service and named it AsynchronousSave.asmx.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://www.vijaykodali.com/Blog/image.axd?picture=Open%20Dialog.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Open Dialog" border="0" alt="Open Dialog" src="http://www.vijaykodali.com/Blog/image.axd?picture=Open%20Dialog_thumb.jpg" width="644" height="392" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Make this web service accessible from Script, by setting class qualified with the ScriptServiceAttribute attribute...&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.vijaykodali.com/Blog/image.axd?picture=clip_image004_1.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://www.vijaykodali.com/Blog/image.axd?picture=clip_image004_thumb_1.jpg" width="644" height="68" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Add a method (SaveLogOffTime) marked with [WebMethod] attribute. This method simply accepts UserId as a string variable and writes that value and logoff time to text file. But you can pass as many variables as required. You can then use this information for many purposes. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.vijaykodali.com/Blog/image.axd?picture=clip_image006_1.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://www.vijaykodali.com/Blog/image.axd?picture=clip_image006_thumb_1.jpg" width="640" height="268" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;To end user session, you can just call Session.Abandon() in the above web method.&lt;/p&gt;  &lt;p&gt;To enable web service to be called from page’s client side code, add script manager to page. Here i am adding to SessionTest.aspx page &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.vijaykodali.com/Blog/image.axd?picture=clip_image008.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image008" border="0" alt="clip_image008" src="http://www.vijaykodali.com/Blog/image.axd?picture=clip_image008_thumb.jpg" width="644" height="134" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;When the user closes the browser, &lt;b&gt;&lt;i&gt;onbeforeunload&lt;/i&gt;&lt;/b&gt;&lt;i&gt; &lt;/i&gt;event fires on the client side. Our final step is adding a java script function to that event, which makes web service calls. The code is simple but effective&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.vijaykodali.com/Blog/image.axd?picture=clip_image010_1.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image010" border="0" alt="clip_image010" src="http://www.vijaykodali.com/Blog/image.axd?picture=clip_image010_thumb_1.jpg" width="644" height="193" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;My Code&lt;/p&gt;  &lt;p&gt;HTML:( SessionTest.aspx )&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.vijaykodali.com/Blog/image.axd?picture=clip_image012_1.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image012" border="0" alt="clip_image012" src="http://www.vijaykodali.com/Blog/image.axd?picture=clip_image012_thumb_1.jpg" width="644" height="358" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;C#:( SessionTest.aspx.cs )&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.vijaykodali.com/Blog/image.axd?picture=clip_image014_1.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image014" border="0" alt="clip_image014" src="http://www.vijaykodali.com/Blog/image.axd?picture=clip_image014_thumb_1.jpg" width="644" height="335" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;That’s’ it. Run the application and after browser close, open the text file to see the log off time. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.vijaykodali.com/Blog/image.axd?picture=clip_image016.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image016" border="0" alt="clip_image016" src="http://www.vijaykodali.com/Blog/image.axd?picture=clip_image016_thumb.jpg" width="644" height="259" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The above code works well in IE 7/8. If you have any questions, leave a comment.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7465418" width="1" height="1"&gt;</content><author><name>budugu</name><uri>http://weblogs.asp.net/members/budugu.aspx</uri></author><category term="Asp.Net" scheme="http://weblogs.asp.net/kodali/archive/tags/Asp.Net/default.aspx" /><category term="C#" scheme="http://weblogs.asp.net/kodali/archive/tags/C_2300_/default.aspx" /><category term="AJAX" scheme="http://weblogs.asp.net/kodali/archive/tags/AJAX/default.aspx" /><category term="Visual Studio" scheme="http://weblogs.asp.net/kodali/archive/tags/Visual+Studio/default.aspx" /></entry><entry><title>Free Certification Exams for Visual Studio 2010</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/kodali/archive/2010/03/18/free-certification-exams-for-visual-studio-2010.aspx" /><id>http://weblogs.asp.net/kodali/archive/2010/03/18/free-certification-exams-for-visual-studio-2010.aspx</id><published>2010-03-18T16:42:00Z</published><updated>2010-03-18T16:42:00Z</updated><content type="html">&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;Get promotional codes from here&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;A href="http://blogs.msdn.com/gerryo/archive/2010/03/17/register-for-visual-studio-2010-beta-exams.aspx" mce_href="http://blogs.msdn.com/gerryo/archive/2010/03/17/register-for-visual-studio-2010-beta-exams.aspx"&gt;&lt;FONT color=#800080&gt;http://blogs.msdn.com/gerryo/archive/2010/03/17/register-for-visual-studio-2010-beta-exams.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-ansi-language: EN"&gt;You don’t have to pay anything to take these exams.&amp;nbsp; These are 100% free. If you pass the exam, you earn the certification just the same as if you took it in a non-beta environment.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-ansi-language: EN"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN class=GramE&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-ansi-language: EN"&gt;From &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;A title="Gerry O'Brien" href="http://blogs.msdn.com/gerryo" mce_href="http://blogs.msdn.com/gerryo"&gt;Gerry O'Brien&lt;/A&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;’s &lt;SPAN class=SpellE&gt;blog&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-ansi-language: EN"&gt;...&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-ansi-language: EN"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-ansi-language: EN"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;BLOCKQUOTE&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-ansi-language: EN"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-ansi-language: EN"&gt;2) Is this a real exam?&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-ansi-language: EN"&gt; – Yes it is.&amp;nbsp; Even though the questions are not scored at the time you take the exam, they are real questions and the exam is real.&amp;nbsp; If you pass the exam, you earn the certification just the same as if you took it in a non-beta environment.&amp;nbsp; This means you don’t get a pass/fail or score immediately following the exam, but you do get notified 8 to 10 weeks later because we move slow in getting the final scoring in place.&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-ansi-language: EN"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-ansi-language: EN"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;STRONG&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-ansi-language: EN"&gt;4) What is the main difference between a beta and non-beta exam, besides cost?&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-ansi-language: EN"&gt; – The beta exam will show you questions that have not been through a final QA check.&amp;nbsp; You are that final QA check.&amp;nbsp; Non-beta exams expose you to 40 or 45 questions and you have a total of two hours to complete it.&amp;nbsp; The beta exam could expose you to as many as 125 to 150 questions and take up to four hours.&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/BLOCKQUOTE&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;Following exams are for Asp.Net developers&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-ansi-language: EN"&gt;&lt;A href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-515&amp;amp;locale=en-us" mce_href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-515&amp;amp;locale=en-us"&gt;&lt;FONT color=#800080&gt;Exam 71-515, TS: Web Applications Development with Microsoft .NET Framework 4&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-ansi-language: EN"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-ansi-language: EN"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-ansi-language: EN"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-ansi-language: EN"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-ansi-language: EN"&gt;&lt;A href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-519&amp;amp;locale=en-us" mce_href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-519&amp;amp;locale=en-us"&gt;&lt;FONT color=#800080&gt;Exam 71-519: Pro: Designing and Developing Web Applications Using Microsoft .NET Framework 4&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7388020" width="1" height="1"&gt;</content><author><name>budugu</name><uri>http://weblogs.asp.net/members/budugu.aspx</uri></author><category term="Visual Studio" scheme="http://weblogs.asp.net/kodali/archive/tags/Visual+Studio/default.aspx" /><category term="NET" scheme="http://weblogs.asp.net/kodali/archive/tags/NET/default.aspx" /></entry><entry><title>Visual Studio 2008 short cuts</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/kodali/archive/2010/03/04/visual-studio-2008-short-cuts.aspx" /><id>http://weblogs.asp.net/kodali/archive/2010/03/04/visual-studio-2008-short-cuts.aspx</id><published>2010-03-04T22:26:00Z</published><updated>2010-03-04T22:26:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Note: Cross posted from Vijay Kodali's Blog. &lt;BR&gt;&lt;A href="http://www.vijaykodali.com/post/2010/03/Visual-Studio-2008-short-cuts.aspx" mce_href="http://www.vijaykodali.com/post/2010/03/Visual-Studio-2008-short-cuts.aspx"&gt;&lt;FONT color=#0065e2&gt;Permalink&lt;/FONT&gt;&lt;/A&gt; &lt;BR&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;I know there are many posts dedicated to this topic. For example, &lt;A href="http://blogs.msdn.com/saraford/archive/tags/Visual+Studio+2008+Tip+of+the+Day/default.aspx" target=_blank&gt;Sara Ford&lt;/A&gt; posted about 290 shortcuts on her blog. Check &lt;A href="http://blogs.msdn.com/zainnab/default.aspx" target=_blank&gt;Zain Naboulsi&lt;/A&gt; blog for VS 2010 tips. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;But it’s almost impossible to use all of them on daily basis. And further most of them are really not that useful. Here are 10 of my favorite Visual Studio keyboard shortcuts, ones I use most.. &lt;A href="http://www.vijaykodali.com/post/2010/03/Visual-Studio-2008-short-cuts.aspx" mce_href="http://www.vijaykodali.com/post/2010/03/Visual-Studio-2008-short-cuts.aspx"&gt;&lt;FONT color=#0065e2&gt;Permalink&lt;/FONT&gt;&lt;/A&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7370515" width="1" height="1"&gt;</content><author><name>budugu</name><uri>http://weblogs.asp.net/members/budugu.aspx</uri></author><category term="Visual Studio" scheme="http://weblogs.asp.net/kodali/archive/tags/Visual+Studio/default.aspx" /><category term="General Software Development" scheme="http://weblogs.asp.net/kodali/archive/tags/General+Software+Development/default.aspx" /></entry><entry><title>Auto save Asp.net form values Asynchronously</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/kodali/archive/2009/12/10/auto-save-asp-net-form-values-asynchronously.aspx" /><id>http://weblogs.asp.net/kodali/archive/2009/12/10/auto-save-asp-net-form-values-asynchronously.aspx</id><published>2009-12-10T05:14:00Z</published><updated>2009-12-10T05:14:00Z</updated><content type="html">&lt;B&gt;Note:&lt;/B&gt; Cross posted from Vijay Kodali's Blog. &lt;BR&gt;&lt;A href="http://www.vijaykodali.com/post/2009/11/Auto-save-Aspnet-web-form-values-Asynchronously.aspx" mce_href="http://www.vijaykodali.com/post/2009/11/Auto-save-Aspnet-web-form-values-Asynchronously.aspx"&gt;Permalink&lt;/A&gt; &lt;BR&gt;
&lt;P&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;&lt;FONT size=2&gt;In this article, I will explain how to save Asp.Net page values asynchronously (aka Gmail style of saving mail drafts). &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Trebuchet MS'"&gt;&lt;FONT face=arial,helvetica,sans-serif size=2&gt;&lt;STRONG&gt;Introduction:&lt;/STRONG&gt; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Trebuchet MS'"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&lt;FONT face=arial,helvetica,sans-serif&gt;In the past, Web applications were known for having less usable, less responsive user interfaces. AJAX changed all of that. The application can work asynchronously and the user doesn't have to sit and wait for pages to refresh. : &lt;SPAN&gt;...&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7275125" width="1" height="1"&gt;</content><author><name>budugu</name><uri>http://weblogs.asp.net/members/budugu.aspx</uri></author><category term="Asp.Net" scheme="http://weblogs.asp.net/kodali/archive/tags/Asp.Net/default.aspx" /><category term="C#" scheme="http://weblogs.asp.net/kodali/archive/tags/C_2300_/default.aspx" /><category term="AJAX" scheme="http://weblogs.asp.net/kodali/archive/tags/AJAX/default.aspx" /></entry></feed>