<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DEMGQH8yfSp7ImA9WhRRFE4.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920</id><updated>2011-11-28T04:57:01.195+05:30</updated><category term="Windows Mobile Development" /><category term="VB.Net" /><category term="mobile tech" /><category term="General" /><category term="SQL" /><category term="Asp.Net" /><category term=".Net" /><title>Helper for .Net Developer</title><subtitle type="html">This blog is for helping .net developer.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://rkdotnetcode.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>38</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/HelperFornetDeveloper" /><feedburner:info uri="helperfornetdeveloper" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;AkcNR38_fSp7ImA9WhdSEEo.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-3822485446664122729</id><published>2011-07-19T17:23:00.004+05:30</published><updated>2011-07-19T17:51:36.145+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-19T17:51:36.145+05:30</app:edited><title>How to force a file to download in ASP.NET</title><content type="html">Sometime you may want to force the user to download a particular file even though browser can open that file type because of any of your business need. This can be easily achieved by adding the content-disposition header in the response of your page.

protected void Page_Load(object sender, EventArgs e)
{
  Response.Clear();
  Response.AddHeader("content-disposition", "attachment;filename=.gif");
  
  Response.ContentType = "image/GIF";
  Response.WriteFile(Server.MapPath(@"~/computer.gif"));
  
  Response.End();
}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-3822485446664122729?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zWHB5AJTQdz6uOv2DrG7YlQL9cA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zWHB5AJTQdz6uOv2DrG7YlQL9cA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zWHB5AJTQdz6uOv2DrG7YlQL9cA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zWHB5AJTQdz6uOv2DrG7YlQL9cA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/PtpN5TziQWQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/3822485446664122729/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=3822485446664122729" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/3822485446664122729?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/3822485446664122729?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/PtpN5TziQWQ/how-to-force-file-to-download-in-aspnet.html" title="How to force a file to download in ASP.NET" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2011/07/how-to-force-file-to-download-in-aspnet.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMMQ3w-fyp7ImA9WxBbGUw.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-2514091994881619527</id><published>2010-03-18T12:04:00.008+05:30</published><updated>2010-03-18T18:51:22.257+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-18T18:51:22.257+05:30</app:edited><title>Setting up PHP with IIS 6 on Windows XP</title><content type="html">&lt;div&gt;
This is a small guide on setting up PHP under IIS 6 on a Windows XP/2003 server. If you have any questions or queries about it please don't hesitate to leave me a comment.&lt;br&gt;&lt;br&gt;
&lt;h3&gt;Installing PHP&lt;/h3&gt;
&lt;ul style="padding-bottom:0;margin-bottom:0"&gt;
&lt;li&gt;Get the latest php (5.2.6 at present) from &lt;a title="PHP: Downloads" href="http://www.php.net/downloads.php"&gt;PHP.net's download page&lt;/a&gt;. Download the zip packager rather than the installer.&lt;/li&gt;
&lt;li&gt;Extract the zip file to c:\php&lt;/li&gt;
&lt;li&gt;Copy php.ini-dist file to php.ini&lt;/li&gt;
&lt;li&gt;Edit the c:\php\php.ini file and
&lt;ul style="padding-bottom:0;margin-bottom:0"&gt;
&lt;li&gt;Set the session.save_path to a temporary directory on your server, you could create a special one for this (e.g. c:\php\session)&lt;/li&gt;
&lt;li&gt;Set the upload_tmp_dir to a temporary directory on your server, you could create a special on for this (e.g. c:\php\upload)&lt;/li&gt;
&lt;li&gt;Set the SMTP setting to the ip of your smtp server. It won't work with authentication so make sure you can send from your web server through that smtp server without a user/pass&lt;/li&gt;
&lt;li&gt;Set the sendmail_from to the email you want all emails from the server to come from&lt;/li&gt;
&lt;li&gt;Set the upload_max_filesize setting to something a little large (if necessary). Default is 2M. I think 8M is normally ok.&lt;/li&gt;
&lt;li&gt;Set your extension_dir=C:\php\ext&lt;/li&gt;
&lt;li&gt;Set post_max_size to at least the size of your upload_max_filesize (+ a little bit more). Default is 8M. 10M should probably be ok if you increased the upload_max_filesize to 8M.&lt;/li&gt;
&lt;li&gt;Uncomment (by removing the ; at the start of the line)"cgi.force_redirect" and change the value to 0 instead of 1&lt;/li&gt;
&lt;li&gt;Add these lines to the end of the file
&lt;pre&gt;extension=php_curl.dll
extension=php_gd2.dll
extension=php_imap.dll
extension=php_mysql.dll
&lt;/pre&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Save and exit the file&lt;/li&gt;
&lt;/ul&gt;&lt;br&gt;
&lt;h3&gt;Setting up IIS and file/directory permissions&lt;/h3&gt;
&lt;ul style="padding-bottom:0;margin-bottom:0"&gt;
&lt;li&gt;Now open the IIS management console by typing Start-&gt;Run and typing &lt;em&gt;%SystemRoot%\system32\inetsrv\iis.msc&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Find out what user we need to give write access to by
&lt;ul style="padding-bottom:0;margin-bottom:0"&gt;
&lt;li&gt;Edit the properties of the web site you are going to install the php application into&lt;/li&gt;
&lt;li&gt;On the directory security tab, click the edit button under anonymous access and authentication control&lt;/li&gt;
&lt;li&gt;Copy down the user name under the anonymous access section (it is allowed right ?). It's usually COMPUTER\IUSR_COMPUTER where COMPUTER is the name of the computer running IIS&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Now right click on the c:\php\session directory and go to properties, click the security tab, click add and in the box type in the name you copied down before.&lt;/li&gt;
&lt;li&gt;Click check names and it should underline the name, then click ok.&lt;/li&gt;
&lt;li&gt;Click modify and it should check all the other necessary boxes for you.&lt;/li&gt;
&lt;li&gt;Click ok&lt;/li&gt;
&lt;li&gt;If there is no security tab, then in windows explorer
 &lt;ul style="padding-bottom:0;margin-bottom:0"&gt;
  &lt;li&gt;Go to the Tools menu, choose 'Folder Options'.&lt;/li&gt;
  &lt;li&gt;Choose the 'View' tab and find the option called 'Use simple file sharing' (usually the last one) and untick it.&lt;/li&gt;
  &lt;li&gt;Click apply, then ok.&lt;/li&gt;
  &lt;li&gt;Go back to the previous step
 &lt;/li&gt;
 &lt;/ul&gt;
&lt;/li&gt;

&lt;li&gt;Repeat this for the c:\php\upload directory and any other directories which need to be writeable by your php application.&lt;/li&gt;

&lt;li&gt;Now go back to the IIS management console, right click on the website you want to setup php for and go to properties.&lt;/li&gt;
&lt;li&gt;Click the documents tab and click add and type in index.php and click ok. This tells the webserver to look for index.php files for a default file.&lt;/li&gt;

&lt;li&gt;Now, still in the iis management console, click the home directory tab, click on the configuration button and then click add.&lt;/li&gt;
&lt;li&gt;Browse to the c:\php\php-cgi.exe file for the executable and .php for the extension. We want it for All Verbs which is checked by default, check script engine and uncheck "Check that file exists" then click ok.&lt;/li&gt;

&lt;li&gt;Then click ok until all the dialogs are closed and restart your website in the iis control panel by clicking the restart button in the toolbar or by right click and choosing restart from the tasks menu.&lt;/li&gt;

&lt;li&gt;Now create a file in your web root called info.php and put in it  then browse to that file in your web browser via it's url. It should bring up a phpinfo page which will let you check that mysql is enabled, the session.save_path is right etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-2514091994881619527?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TRctNajjd5X5e_b3OTg-xhbHIWc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TRctNajjd5X5e_b3OTg-xhbHIWc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TRctNajjd5X5e_b3OTg-xhbHIWc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TRctNajjd5X5e_b3OTg-xhbHIWc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/pOWckMUrGIY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/2514091994881619527/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=2514091994881619527" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/2514091994881619527?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/2514091994881619527?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/pOWckMUrGIY/setting-up-php-with-iis-6-on-windows-xp.html" title="Setting up PHP with IIS 6 on Windows XP" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2010/03/setting-up-php-with-iis-6-on-windows-xp.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcGRHgyfSp7ImA9WxBbEk0.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-8217598267473190092</id><published>2010-03-10T12:16:00.002+05:30</published><updated>2010-03-10T12:23:45.695+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-10T12:23:45.695+05:30</app:edited><title>MVC-Based Web Application V/S Web Forms-Based Web Application</title><content type="html">&lt;h3&gt;Advantages of an MVC-Based Web Application&lt;/h3&gt;
The ASP.NET MVC framework offers the following advantages:
&lt;ul type="DISC"&gt;
  &lt;li&gt;It makes it easier to manage complexity by dividing an application into the model, the view, and the controller.&lt;/li&gt;
  &lt;li&gt;It does not use view state or server-based forms. This makes the MVC framework ideal for developers who want full control over the behavior of an application.&lt;/li&gt;
  &lt;li&gt;It uses a Front Controller pattern that processes Web application requests through a single controller. This enables you to design an application that supports a rich routing infrastructure. For more information, see &lt;a href="http://go.microsoft.com/fwlink/?LinkId=106357" title="Front Controller" target="_blank"&gt;&lt;u&gt;Front Controller&lt;/u&gt;&lt;/a&gt; on the MSDN Web site.&lt;/li&gt;
  &lt;li&gt;It provides better support for test-driven development (TDD).&lt;/li&gt;
  &lt;li&gt;It works well for Web applications that are supported by large teams of developers and Web designers who need a high degree of control over the application 
  behavior.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Advantages of a Web Forms-Based Web Application&lt;/h3&gt;
The Web Forms-based framework offers the following advantages:
&lt;ul type="DISC"&gt;
  &lt;li&gt;It supports an event model that preserves state over HTTP, which benefits line-of-business Web application development. The Web Forms-based application provides dozens of events that are supported in hundreds of server controls.&lt;/li&gt;
  &lt;li&gt;It uses a Page Controller pattern that adds functionality to individual pages. For more information, see &lt;a href="http://go.microsoft.com/fwlink/?LinkId=106359" title="Page Controller" target="_blank"&gt;&lt;u&gt;Page Controller&lt;/u&gt;&lt;/a&gt; on the MSDN Web site.&lt;/li&gt;
  &lt;li&gt;It uses view state or server-based forms, which can make managing state information easier.&lt;/li&gt;
  &lt;li&gt;It works well for small teams of Web developers and designers who want to take advantage of the large number of components available for rapid application development.&lt;/li&gt;
  &lt;li&gt;In general, it is less complex for application development, because the components (the &lt;b&gt;Page&lt;/b&gt; class, controls, and so on) are tightly integrated and usually require less code than the MVC model. &lt;br&gt;
  &lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-8217598267473190092?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ukaZpk-If-NcA_n-FHIcYnw8Iu8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ukaZpk-If-NcA_n-FHIcYnw8Iu8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ukaZpk-If-NcA_n-FHIcYnw8Iu8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ukaZpk-If-NcA_n-FHIcYnw8Iu8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/gfW8vzET8Fs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/8217598267473190092/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=8217598267473190092" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/8217598267473190092?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/8217598267473190092?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/gfW8vzET8Fs/mvc-based-web-application-vs-web-forms.html" title="MVC-Based Web Application V/S Web Forms-Based Web Application" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2010/03/mvc-based-web-application-vs-web-forms.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QFRXc-eip7ImA9WxBRFUQ.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-1051835512951893394</id><published>2010-01-04T12:49:00.000+05:30</published><updated>2010-01-04T15:31:54.952+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-04T15:31:54.952+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile tech" /><title>What is PTT or PoC?</title><content type="html">PTT PoC or Push to Talk over Cellular is a service option for a cellular phone network which permits subscribers to use their phone as a walkie-talkie. A typical Push to Talk connection connects almost instantly. One significant advantage of PoC is that it allows a single person to reach an active talk group with a single button press; users no longer need to make several calls to coordinate with a group.

Push-to-talk cellular calls are half duplex communications — while one person transmits, the other(s) receive. Traditional mobile phone networks and devices utilize full-duplex communications, allowing customers to call other persons on a mobile or land-line network and be able to simultaneously talk and hear the other party. Such communications require a connection to be started by dialing a phone number and the other party answering the call, and the connection remains active until either party ends the call or the connection is dropped due to signal loss or a network outage.

Therefore, telephone communication protocol does not allow for casual and immediate transmissions to be sent to other parties on the network. Whereas telephone calls require the lengthy process of dialing, network switching and routing, call setup, and waiting for the other party to answer, a two-way radio has a much quicker protocol because of the immediacy of push to talk communication.

Full-duplex operation on mobile phone networks is made possible by using separate frequencies for transmission and reception. Mobile Push-to-Talk service, offered by some mobile carriers, adds functionality for individual half-duplex transmissions to be sent to another party on the system without needing an existing connection to be already established. Since the system is half-duplex, only one user can transmit by PTT at a time; the other party is unable to transmit until the transmitting user unkeys their PTT button. Currently, PTT service is supported only between parties on the same mobile carrier service, and users with different carriers will be unable to transmit to each other by PTT.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-1051835512951893394?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dji5ilEKPqov3gS66zij3AVARtw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dji5ilEKPqov3gS66zij3AVARtw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dji5ilEKPqov3gS66zij3AVARtw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dji5ilEKPqov3gS66zij3AVARtw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/D7MaWGvS0s4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/1051835512951893394/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=1051835512951893394" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/1051835512951893394?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/1051835512951893394?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/D7MaWGvS0s4/what-is-ptt-or-poc.html" title="What is PTT or PoC?" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2010/01/what-is-ptt-or-poc.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QDQX47eip7ImA9WxBRFUQ.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-2788324723127957835</id><published>2009-12-08T15:57:00.000+05:30</published><updated>2010-01-04T15:32:50.002+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-04T15:32:50.002+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile tech" /><title>What is CDMA?</title><content type="html">&lt;strong&gt;Definition: &lt;/strong&gt;CDMA, or &lt;i&gt;C&lt;/i&gt;ode &lt;i&gt;D&lt;/i&gt;ivision &lt;i&gt;M&lt;/i&gt;ultiple
&lt;i&gt;A&lt;/i&gt;ccess, is a competing cell phone service technology to &lt;a href="http://cellphones.about.com/od/phoneglossary/g/gsm.htm"&gt;
GSM&lt;/a&gt;, which is the world’s most widely used cell phone standard.
    
CDMA uses a “spread-spectrum” technique whereby electromagnetic energy is spread
to allow for a signal with a wider bandwidth. This allows multiple people on multiple
cell phones to be “multiplexed” over the same channel to share a bandwidth of frequencies.
    
With CDMA technology, data and voice packets are separated using codes and then
transmitted using a wide frequency range. Since more space is often allocated for
data with CDMA, this standard became attractive for &lt;a href="http://cellphones.about.com/od/phoneglossary/g/3g.htm"&gt;
3G&lt;/a&gt; high-speed mobile Internet use.
        
The CDMA standard was originally designed by Qualcomm in the U.S. and is primarily
used in the U.S. and portions of Asia by other carriers. &lt;a href="http://cellphones.about.com/od/sprintserviceplans/Sprint_Cell_Phone_Service_Plans.htm"&gt;Sprint&lt;/a&gt;, &lt;a href="http://cellphones.about.com/od/serviceplananalysis/a/payasyougo.htm"&gt;
    Virgin Mobile&lt;/a&gt; and Verizon Wireless use CDMA while &lt;a href="http://cellphones.about.com/od/tmobileserviceplans/T_Mobile_Cell_Phone_Service_Plans.htm"&gt;
    T-Mobile&lt;/a&gt; and &lt;a href="http://cellphones.about.com/od/attserviceplans/AT&amp;T_Cell_Phone_Service_Plans.htm"&gt;AT&amp;amp;T&lt;/a&gt; use GSM.
   
While CDMA and GSM compete head on in terms of higher bandwidth speed (i.e. for
surfing the mobile Web), GSM has more complete global coverage due to roaming and
international roaming contracts.
    
GSM technology tends to cover rural areas in the U.S. more completely than CDMA.
Over time, CDMA won out over less advanced &lt;a href="http://cellphones.about.com/od/phoneglossary/g/tdma.htm"&gt;TDMA&lt;/a&gt; technology, which was incorporated into more advanced GSM.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-2788324723127957835?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oMybTbtBAXBYLQuyX7oUWjz_5mo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oMybTbtBAXBYLQuyX7oUWjz_5mo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/oMybTbtBAXBYLQuyX7oUWjz_5mo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oMybTbtBAXBYLQuyX7oUWjz_5mo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/QKcUhQR81mA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/2788324723127957835/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=2788324723127957835" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/2788324723127957835?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/2788324723127957835?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/QKcUhQR81mA/what-is-cdma.html" title="What is CDMA?" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2009/12/what-is-cdma.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MFQnk8fyp7ImA9WxBRFUQ.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-2043081464396851729</id><published>2009-12-08T15:42:00.000+05:30</published><updated>2010-01-04T15:33:33.777+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-04T15:33:33.777+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile tech" /><title>What is EDGE?</title><content type="html">&lt;strong&gt;Definition: &lt;/strong&gt;EDGE takes &lt;a href="http://cellphones.about.com/od/phoneglossary/g/gsm.htm"&gt;GSM&lt;/a&gt; even further. GSM, which stands for &lt;i&gt;G&lt;/i&gt;lobal &lt;i&gt;S&lt;/i&gt;ystem for&lt;i&gt;M&lt;/i&gt;obile communications, reigns as the world’s most widely used cell phone technology.
    
EDGE, which stands for &lt;i&gt;E&lt;/i&gt;nhanced &lt;i&gt;D&lt;/i&gt;ata rates for &lt;i&gt;G&lt;/i&gt;SM &lt;i&gt;E&lt;/i&gt;volution, is a faster version of GSM. EDGE is a high-speed &lt;a href="http://cellphones.about.com/od/phoneglossary/g/3g.htm"&gt;3G&lt;/a&gt; technology that was built upon the GSM standard.
    
EDGE networks are designed to deliver multimedia applications such as streaming
television, audio and video to mobile phones at speeds up to 384 Kbps. Such speeds still pale in comparison, though, to standard DSL and high-speed cable access today.
    
EDGE delivers a boost of more than three times the capacity and performance over GSM.
    
    The EDGE standard was first launched in the United States in 2003 by Cingular, which is now AT&amp;amp;T, on top of the GSM standard. &lt;a href="http://cellphones.about.com/od/attserviceplans/AT&amp;T_Cell_Phone_Service_Plans.htm"&gt;
        AT&amp;amp;T&lt;/a&gt;, &lt;a href="http://cellphones.about.com/od/tmobileserviceplans/T_Mobile_Cell_Phone_Service_Plans.htm"&gt;T-Mobile&lt;/a&gt; and Rogers Wireless in Canada all use EDGE networks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-2043081464396851729?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kijN0oFuPmcxrTo6YIJjAX4yxaw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kijN0oFuPmcxrTo6YIJjAX4yxaw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kijN0oFuPmcxrTo6YIJjAX4yxaw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kijN0oFuPmcxrTo6YIJjAX4yxaw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/fQ9zJRC4mN8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/2043081464396851729/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=2043081464396851729" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/2043081464396851729?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/2043081464396851729?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/fQ9zJRC4mN8/what-is-edge.html" title="What is EDGE?" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2009/12/what-is-edge.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MASXo4eyp7ImA9WxBRFUQ.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-4096488986144443</id><published>2009-12-08T14:51:00.000+05:30</published><updated>2010-01-04T15:34:08.433+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-04T15:34:08.433+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile tech" /><title>What is GSM?</title><content type="html">&lt;strong&gt;Definition: &lt;/strong&gt;GSM, which stands for &lt;i&gt;G&lt;/i&gt;lobal &lt;i&gt;S&lt;/i&gt;ystem for &lt;i&gt;M&lt;/i&gt;obile communications, reigns as the world’s most widely used cell phone  technology. Cell phones use a cell phone service carrier’s GSM network by searching for cell phone towers in the nearby area.

The origins of GSM can be traced back to 1982 when the Groupe Spécial Mobile (GSM) was created by the European Conference of Postal and Telecommunications Administrations (CEPT) for the purpose of designing a pan-European mobile technology.

It is approximated that 80 percent of the world uses GSM technology when placing
wireless calls, according to the GSM Association (GSMA), which represents the interests of the worldwide mobile communications industry. This amounts to nearly 3 billion global people.

Cell phone carriers &lt;a href="http://cellphones.about.com/od/tmobileserviceplans/T_Mobile_Cell_Phone_Service_Plans.htm"&gt;T-Mobile&lt;/a&gt; and &lt;a href="http://cellphones.about.com/od/attserviceplans/AT&amp;T_Cell_Phone_Service_Plans.htm"&gt;AT&amp;amp;T&lt;/a&gt; use GSM for their cell phone networks. &lt;a href="http://cellphones.about.com/od/sprintserviceplans/Sprint_Cell_Phone_Service_Plans.htm"&gt;Sprint&lt;/a&gt;, &lt;a href="http://cellphones.about.com/od/serviceplananalysis/a/payasyougo.htm"&gt;Virgin Mobile&lt;/a&gt; and Verizon Wireless use the competing &lt;a href="http://cellphones.about.com/od/phoneglossary/g/cdma.htm"&gt;CDMA&lt;/a&gt; standard.
    
For practical and everyday purposes, GSM offers users wider international roaming capabilities than other U.S. network technologies and can enable a cell phone to     be a “world phone”. More advanced GSM incorporates the earlier &lt;a href="http://cellphones.about.com/od/phoneglossary/g/tdma.htm"&gt;TDMA&lt;/a&gt; standard.

GSM carriers have roaming contracts with other GSM carriers and typically cover rural areas more completely than competing CDMA carriers (and often without roaming charges, too).

GSM also has the advantage of using SIM (&lt;i&gt;S&lt;/i&gt;ubscriber &lt;i&gt;I&lt;/i&gt;dentity &lt;i&gt;M&lt;/i&gt;odule)cards in the U.S. The SIM card, which acts as your digital identity, is tied to your cell phone service carrier’s network rather than to the handset itself. This allows for easy exchange from one phone to another without new cell phone service activation.

GSM uses digital technology and is a second-generation (&lt;a href="http://cellphones.about.com/od/phoneglossary/g/2g.htm"&gt;2G&lt;/a&gt;) cell phone system. GSM, which predates CDMA, is especially strong in Europe. &lt;a href="http://cellphones.about.com/od/phoneglossary/g/edge.htm"&gt; EDGE&lt;/a&gt; is faster than GSM and was built upon GSM.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-4096488986144443?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/45FExc-dxSY4yBjlOD7LZPN1ryc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/45FExc-dxSY4yBjlOD7LZPN1ryc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/45FExc-dxSY4yBjlOD7LZPN1ryc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/45FExc-dxSY4yBjlOD7LZPN1ryc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/LPnImYR8IPs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/4096488986144443/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=4096488986144443" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/4096488986144443?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/4096488986144443?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/LPnImYR8IPs/what-is-gsm.html" title="What is GSM?" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2009/12/what-is-gsm.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIARX06cCp7ImA9WxVWEkw.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-6990877202225665960</id><published>2009-02-21T17:33:00.000+05:30</published><updated>2009-02-21T17:45:44.318+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-21T17:45:44.318+05:30</app:edited><title>Ten ways to speed up the download time of your web pages</title><content type="html">&lt;h1&gt;
        Ten ways to speed up the download time of your web pages&lt;/h1&gt;
    &lt;h2&gt;
        Why is download speed so important?&lt;/h2&gt;
    &lt;p&gt;
        Do you like to wait for pages to download? Neither do your site users. Read on...&lt;/p&gt;
    &lt;h2&gt;
        1. Lay out your pages with &lt;acronym&gt;CSS&lt;/acronym&gt;, not tables&lt;/h2&gt;
    &lt;p&gt;
        &lt;acronym&gt;CSS&lt;/acronym&gt; downloads faster than tables because:&lt;/p&gt;
    &lt;ul type="disc"&gt;
        &lt;li&gt;Browsers read through tables twice before displaying their contents, once to work
            out their structure and once to determine their content&lt;br&gt;
            &lt;br&gt;
        &lt;/li&gt;
        &lt;li&gt;Tables appear on the screen all in one go - no part of the table will appear until
            the &lt;em&gt;entire&lt;/em&gt; table is downloaded and rendered&lt;br&gt;
            &lt;br&gt;
        &lt;/li&gt;
        &lt;li&gt;Tables encourage the use of spacer images to aid with positioning&lt;br&gt;
            &lt;br&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;acronym&gt;CSS&lt;/acronym&gt; generally requires less code than cumbersome tables&lt;br&gt;
            &lt;br&gt;
        &lt;/li&gt;
        &lt;li&gt;All code to do with the layout can be placed in an external &lt;acronym&gt;CSS&lt;/acronym&gt;
            document, which will be called up just once and then cached (stored) on the user's
            computer; table layout, stored in each &lt;acronym&gt;HTML&lt;/acronym&gt; document, must be
            loaded up each time a new page downloads&lt;br&gt;
            &lt;br&gt;
        &lt;/li&gt;
        &lt;li&gt;With &lt;acronym&gt;CSS&lt;/acronym&gt; you can control the order items download on to the screen
            - make the content appear before slow-loading images and your site users will definitely
            appreciate it&lt;/li&gt;
    &lt;/ul&gt;
    &lt;p&gt;
        To learn more about &lt;acronym&gt;CSS&lt;/acronym&gt; and the amazing things it can do for
        your website, check out the excellent tutorials both here at &lt;a href=""&gt;DNzone&lt;/a&gt;
        or at places like &lt;a class="external" href="http://www.htmldog.com/" target="_blank"&gt;
            &lt;acronym&gt;HTML&lt;/acronym&gt; Dog&lt;/a&gt;.&lt;/p&gt;
    &lt;h2&gt;
        2. Don't use images to display text&lt;/h2&gt;
    &lt;p&gt;
        It's our old friend &lt;acronym&gt;CSS&lt;/acronym&gt; to the rescue again. There's no need
        to use images to display text as so much can be accomplished through &lt;acronym&gt;CSS&lt;/acronym&gt;.
        Have a look at this code:&lt;/p&gt;
    &lt;div&gt;
        &lt;p class="Code"&gt;
            &lt;code&gt;a:link.example, a:visited.example, a:active.example &lt;/code&gt;
            &lt;br&gt;
            &lt;code&gt;{ &lt;/code&gt;
            &lt;br&gt;
            &lt;code&gt;color:#fff; &lt;/code&gt;
            &lt;br&gt;
            &lt;code&gt;background:#f90; &lt;/code&gt;
            &lt;br&gt;
            &lt;code&gt;font-size:1.2em; &lt;/code&gt;
            &lt;br&gt;
            &lt;code&gt;font-weight:bold; &lt;/code&gt;
            &lt;br&gt;
            &lt;code&gt;text-decoration:none; &lt;/code&gt;
            &lt;br&gt;
            &lt;code&gt;padding:0.2em; &lt;/code&gt;
            &lt;br&gt;
            &lt;code&gt;border:4px #00f outset &lt;/code&gt;
            &lt;br&gt;
            &lt;code&gt;} &lt;/code&gt;
            &lt;br&gt;
            &lt;br&gt;
            &lt;code&gt;a:hover.example &lt;/code&gt;
            &lt;br&gt;
            &lt;code&gt;} &lt;/code&gt;
            &lt;br&gt;
            &lt;code&gt;color:#fff; &lt;/code&gt;
            &lt;br&gt;
            &lt;code&gt;background:#fa1; &lt;/code&gt;
            &lt;br&gt;
            &lt;code&gt;font-size:1.2em; &lt;/code&gt;
            &lt;br&gt;
            &lt;code&gt;font-weight:bold; &lt;/code&gt;
            &lt;br&gt;
            &lt;code&gt;text-decoration:none; &lt;/code&gt;
            &lt;br&gt;
            &lt;code&gt;padding:0.2em; &lt;/code&gt;
            &lt;br&gt;
            &lt;code&gt;border:4px #00f inset &lt;/code&gt;
            &lt;br&gt;
            &lt;code&gt;} &lt;/code&gt;
        &lt;/p&gt;
    &lt;/div&gt;
    &lt;p&gt;
        This will give you a really simple button that appears to be pushed down when you
        mouseover it - See it in action &lt;a class="external" href="http://www.webcredible.co.uk/external/speed-up-example.html"
            target="_blank"&gt;here&lt;/a&gt; if you like.
    &lt;/p&gt;
    &lt;h2&gt;
        3. Call up decorative images through &lt;acronym&gt;CSS&lt;/acronym&gt;&lt;/h2&gt;
    &lt;p&gt;
        It's possible to present images as part of the background, called up through &lt;acronym&gt;
            CSS&lt;/acronym&gt;. If you've got an image that's 200px by 100px you can use the
        following &lt;acronym&gt;HTML&lt;/acronym&gt; code:&lt;/p&gt;
    &lt;div&gt;
        &lt;p class="Code"&gt;
            &lt;code&gt;&amp;lt;div class="pretty-image"&amp;gt;&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/p&gt;
    &lt;/div&gt;
    &lt;p&gt;
        And this &lt;acronym&gt;CSS&lt;/acronym&gt;:&lt;/p&gt;
    &lt;div&gt;
        &lt;p class="Code"&gt;
            &lt;code&gt;.pretty-image &lt;/code&gt;
            &lt;br&gt;
            &lt;code&gt;{ &lt;/code&gt;
            &lt;br&gt;
            &lt;code&gt;background: url(filename.gif); &lt;/code&gt;
            &lt;br&gt;
            &lt;code&gt;width: 200px; &lt;/code&gt;
            &lt;br&gt;
            &lt;code&gt;height: 100px &lt;/code&gt;
            &lt;br&gt;
            &lt;code&gt;}&lt;/code&gt;&lt;/p&gt;
    &lt;/div&gt;
    &lt;p&gt;
        This may at first seem a little pointless but &lt;strong&gt;this technique could really improve
            the download time&lt;/strong&gt; of your pages. Browsers basically download background
        images after everything else. By using this technique, your text will load instantaneously
        and your site users can freely roam about the page while your 50kb fancy image downloads.&lt;/p&gt;
    &lt;p&gt;
        This technique disables the &lt;b&gt;ALT&lt;/b&gt; attribute though so if you really want to
        have one then replace the above &lt;acronym&gt;HTML&lt;/acronym&gt; code with this:&lt;/p&gt;
    &lt;div&gt;
        &lt;p class="Code"&gt;
            &lt;code&gt;&amp;lt;image src="spacer.gif" class="pretty-image" alt="description" /&amp;gt;&lt;/code&gt;&lt;/p&gt;
    &lt;/div&gt;
    &lt;p&gt;
        &lt;b&gt;Spacer.gif &lt;/b&gt;is a 1px x 1px transparent image. Now you have a 50 byte transparent
        image &lt;em&gt;and&lt;/em&gt; the main content loading first, and your great big decorative
        image, complete with &lt;b&gt;ALT&lt;/b&gt; text, loading second. Perfect.&lt;/p&gt;
    &lt;div&gt;
        &lt;p&gt;
            Please note that this technique is only good for decorative images and not informational
            ones. Any user who has &lt;acronym&gt;CSS&lt;/acronym&gt; disabled will not be able to see your
            &lt;acronym&gt;CSS&lt;/acronym&gt;-embedded images (or their alternative text).&lt;/p&gt;
    &lt;/div&gt;
    &lt;h2&gt;
        4. Use contextual selectors&lt;/h2&gt;
    &lt;p&gt;
        This is inefficient:&lt;/p&gt;
    &lt;div&gt;
        &lt;p class="Code"&gt;
            &lt;code&gt;&amp;lt;p class="text"&amp;gt;This is a sentence&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;&amp;lt;p class="text"&amp;gt;This is another sentence&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;&amp;lt;p class="text"&amp;gt;This is yet another sentence&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;&amp;lt;p class="text"&amp;gt;This is one more sentence&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;br&gt;
            &lt;br&gt;
            &lt;code&gt;.text&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;{&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;color: #03c;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;font-size: 2em&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;} &lt;/code&gt;
        &lt;/p&gt;
    &lt;/div&gt;
    &lt;p&gt;
        Instead of assigning a value to each individual paragraph, we can nest them within
        a &lt;b&gt;&amp;lt;div&amp;gt;&lt;/b&gt; tag and assign a value to this tag:&lt;/p&gt;
    &lt;div&gt;
        &lt;p class="Code"&gt;
            &lt;code&gt;&amp;lt;div class="text"&amp;gt;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;&amp;lt;p&amp;gt;This is a sentence&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;&amp;lt;p&amp;gt;This is another sentence&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;&amp;lt;p&amp;gt;This is yet another sentence&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;&amp;lt;p&amp;gt;This is one more sentence&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;br&gt;
            &lt;br&gt;
            &lt;code&gt;.text p&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;{&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;color: #03c;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;font-size:2em&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;} &lt;/code&gt;
        &lt;/p&gt;
    &lt;/div&gt;
    &lt;p&gt;
        This second &lt;acronym&gt;CSS&lt;/acronym&gt; example basically says that every paragraph within
        &lt;b&gt;class="text"&lt;/b&gt; should be assigned a colour value of #03c and a font size of
        2em.&lt;/p&gt;
    &lt;p&gt;
        At first glance this doesn't look too important, but if you can apply this properly
        throughout your document you can easily knock off 20% of the file size.&lt;/p&gt;
    &lt;p&gt;
        You may have noticed the colour values are shorter than normal. #03c is a shortened
        version of #0033cc - you can assign this abbreviated value to any colour value like
        this.&lt;/p&gt;
    &lt;h2&gt;
        5. Use shorthand CSS properties&lt;/h2&gt;
    &lt;h3&gt;
        Font&lt;/h3&gt;
    &lt;p&gt;
        Use:&lt;/p&gt;
    &lt;div&gt;
        &lt;p class="Code"&gt;
            &lt;code&gt;font: 1em/1.5em bold italic serif&lt;/code&gt;&lt;/p&gt;
    &lt;/div&gt;
    &lt;p&gt;
        ...instead of:&lt;/p&gt;
    &lt;div&gt;
        &lt;p class="Code"&gt;
            &lt;code&gt;font-size: 1em;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;line-height: 1.5em;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;font-weight: bold;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;font-style: italic;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;font-family: serif &lt;/code&gt;
        &lt;/p&gt;
    &lt;/div&gt;
    &lt;h3&gt;
        Border&lt;/h3&gt;
    &lt;p&gt;
        Use:&lt;/p&gt;
    &lt;div&gt;
        &lt;p class="Code"&gt;
            &lt;code&gt;border: 1px black solid&lt;/code&gt;&lt;/p&gt;
    &lt;/div&gt;
    &lt;p&gt;
        ...instead of&lt;/p&gt;
    &lt;div&gt;
        &lt;p class="Code"&gt;
            &lt;code&gt;border-width: 1px;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;border-color: black;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;border-style: solid &lt;/code&gt;
        &lt;/p&gt;
    &lt;/div&gt;
    &lt;h3&gt;
        Background&lt;/h3&gt;
    &lt;p&gt;
        Use:&lt;/p&gt;
    &lt;div&gt;
        &lt;p class="Code"&gt;
            &lt;code&gt;background: #fff url(image.gif) no-repeat top left&lt;/code&gt;&lt;/p&gt;
    &lt;/div&gt;
    &lt;p&gt;
        ...instead of:&lt;/p&gt;
    &lt;div&gt;
        &lt;p class="Code"&gt;
            &lt;code&gt;background-color: #fff;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;background-image: url(image.gif);&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;background-repeat: no-repeat;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;background-position: top left; &lt;/code&gt;
        &lt;/p&gt;
    &lt;/div&gt;
    &lt;h3&gt;
        Margin, padding, border&lt;/h3&gt;
    &lt;p&gt;
        Use:&lt;/p&gt;
    &lt;div&gt;
        &lt;p class="Code"&gt;
            &lt;code&gt;margin: 2px 1px 3px 4px &lt;/code&gt;&lt;strong&gt;(top, right, bottom, left)&lt;/strong&gt;&lt;/p&gt;
    &lt;/div&gt;
    &lt;p&gt;
        ...instead of:&lt;/p&gt;
    &lt;div&gt;
        &lt;p class="Code"&gt;
            &lt;code&gt;margin-top: 2px;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;margin-right: 1px;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;margin-bottom: 3px;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;margin-right: 4px &lt;/code&gt;
        &lt;/p&gt;
    &lt;/div&gt;
    &lt;p&gt;
        Use:&lt;/p&gt;
    &lt;div&gt;
        &lt;p class="Code"&gt;
            &lt;code&gt;margin: 5em 1em 3em &lt;/code&gt;&lt;strong&gt;(top, left and right, bottom)&lt;/strong&gt;&lt;/p&gt;
    &lt;/div&gt;
    &lt;p&gt;
        ...instead of:&lt;/p&gt;
    &lt;div&gt;
        &lt;p class="Code"&gt;
            &lt;code&gt;margin-top: 5em;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;margin-bottom: 1em;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;margin-right: 1em;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;margin-right: 4em &lt;/code&gt;
        &lt;/p&gt;
    &lt;/div&gt;
    &lt;p&gt;
        Use:&lt;/p&gt;
    &lt;div&gt;
        &lt;p class="Code"&gt;
            &lt;code&gt;margin: 5% 1% &lt;/code&gt;&lt;strong&gt;(top and bottom, left and right)&lt;/strong&gt;&lt;/p&gt;
    &lt;/div&gt;
    &lt;p&gt;
        ...instead of:&lt;/p&gt;
    &lt;div&gt;
        &lt;p class="Code"&gt;
            &lt;code&gt;margin-top: 5%;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;margin-bottom: 5%;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;margin-right: 1%;&lt;/code&gt;&lt;br&gt;
            &lt;code&gt;margin-right: 1% &lt;/code&gt;
        &lt;/p&gt;
    &lt;/div&gt;
    &lt;p&gt;
        These rules can be applied to &lt;b&gt;margin&lt;/b&gt;, &lt;b&gt;border&lt;/b&gt; and &lt;b&gt;padding&lt;/b&gt;.&lt;/p&gt;
    &lt;h2&gt;
        6. Minimise white space, line returns and comment tags&lt;/h2&gt;
    &lt;p&gt;
        Every single letter or space in your &lt;acronym&gt;HTML&lt;/acronym&gt; code takes up one byte.
        It doesn't sound like much but &lt;strong&gt;it all adds up&lt;/strong&gt;. We've found that
        by working through your page source and eliminating unnecessary white space and
        comments, you can shave off up to, or even over (if your &lt;acronym&gt;HTML&lt;/acronym&gt;
        is &lt;em&gt;really&lt;/em&gt; inefficient) 10% of its file size.&lt;/p&gt;
    &lt;h2&gt;
        7. Use relative call-ups&lt;/h2&gt;
    &lt;p&gt;
        Try to avoid absolute call ups as they take up more space. An example of an absolute
        call up is: &lt;b&gt;&amp;lt;a href="http://www.URL.com/filename.htm"&amp;gt;.&lt;/b&gt;&lt;/p&gt;
    &lt;p&gt;
        Much better would be &lt;b&gt;&amp;lt;a href="filename.htm"&amp;gt;&lt;/b&gt;. But what if some files
        are in different folders to other ones? Use these shorthand properties:&lt;/p&gt;
    &lt;ul type="disc"&gt;
        &lt;li&gt;&lt;b&gt;&amp;lt;a href="/"&amp;gt;&lt;/b&gt; - Calls up &lt;a class="external" href="http://www.url.com/"
            target="_blank"&gt;http://www.URL.com&lt;/a&gt;&lt;br&gt;
            &lt;br&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;b&gt;&amp;lt;a href="/filename.html"&amp;gt;&lt;/b&gt; - Calls up &lt;a class="external" href="http://www.url.com/filename.html"
            target="_blank"&gt;http://www.URL.com/filename.html&lt;/a&gt;&lt;br&gt;
            &lt;br&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;b&gt;&amp;lt;a href="/directory/filename.html"&amp;gt;&lt;/b&gt; - Calls up &lt;a class="external"
            href="http://www.url.com/directory/filename.html" target="_blank"&gt;http://www.URL.com/directory/filename.html&lt;/a&gt;&lt;br&gt;
            &lt;br&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;b&gt;&amp;lt;a href="./"&amp;gt;&lt;/b&gt; - Calls up index.html within that directory&lt;br&gt;
            &lt;br&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;b&gt;&amp;lt;a href="../"&amp;gt;&lt;/b&gt; - Calls up index.html one directory above&lt;br&gt;
            &lt;br&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;b&gt;&amp;lt;a href="../filename.html"&amp;gt;&lt;/b&gt; - Calls up filename.html one directory
            above&lt;br&gt;
            &lt;br&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;b&gt;&amp;lt;a href="../../"&amp;gt;&lt;/b&gt; - Calls up index.html two directories above&lt;/li&gt;
    &lt;/ul&gt;
    &lt;h2&gt;
        8. Remove unnecessary META tags and META content&lt;/h2&gt;
    &lt;p&gt;
        Most &lt;b&gt;META&lt;/b&gt; tags are pretty much unnecessary and don't achieve very much. If
        you're interested, you can see a &lt;a class="external" href="http://www.submitcorner.com/Guide/Meta/"
            title="go to the website" target="_blank"&gt;list of META tags&lt;/a&gt; that are available.
        The most important tags for search engine optimisation are the keywords and description
        tags, although due to mass abuse they've lost a lot of importance in recent times.
    &lt;/p&gt;
    &lt;p&gt;
        When using these &lt;b&gt;META&lt;/b&gt; tags try to keep the content for each &lt;strong&gt;under 200
            characters&lt;/strong&gt; - anything more increases the size of your pages. Lengthy
        &lt;b&gt;META&lt;/b&gt; tags are not good for search engines anyway because they dilute your
        keywords.&lt;/p&gt;
    &lt;h2&gt;
        9. Put &lt;acronym&gt;CSS&lt;/acronym&gt; and JavaScript into external documents&lt;/h2&gt;
    &lt;p&gt;
        To place &lt;acronym&gt;CSS&lt;/acronym&gt; in an external document use:&lt;/p&gt;
    &lt;div&gt;
        &lt;p class="Code"&gt;
            &lt;code&gt;&amp;lt;link type="text/css" rel="stylesheet" href="filename.css" /&amp;gt;&lt;/code&gt;&lt;/p&gt;
    &lt;/div&gt;
    &lt;p&gt;
        To place JavaScript in an external document use:&lt;/p&gt;
    &lt;div&gt;
        &lt;p class="Code"&gt;
            &lt;code&gt;&amp;lt;script language="JavaScript" src="filename.js" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/p&gt;
    &lt;/div&gt;
    &lt;p&gt;
        Any external file is called up just once and then cached (stored) on the user's
        computer. Instead of repeating JavaScript or &lt;acronym&gt;CSS&lt;/acronym&gt; over and over
        again in &lt;acronym&gt;HTML&lt;/acronym&gt; files, just write it out once in an external document.&lt;/p&gt;
    &lt;p&gt;
        And don't forget, there's &lt;strong&gt;no limit&lt;/strong&gt; to the number of these external
        documents that you can use! For example, instead of making one huge &lt;acronym&gt;CSS&lt;/acronym&gt;
        document, have one main one and some others that are specific to certain areas of
        your site.&lt;/p&gt;
    &lt;p&gt;
        &amp;nbsp;&lt;/p&gt;
    &lt;h2&gt;
        10. Use / at the end of directory links
    &lt;/h2&gt;
    &lt;p&gt;
        Don't do this: &lt;b&gt;&amp;lt;a href="http://www.URL.com/directoryname"&amp;gt;&lt;/b&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
    &lt;p&gt;
        Do this instead: &lt;b&gt;&amp;lt;a href="http://www.URL.com/directoryname&lt;/b&gt;/&lt;b&gt;"&amp;gt;&lt;/b&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
    &lt;p&gt;
        Why? If there's no slash at the end of the &lt;acronym&gt;URL&lt;/acronym&gt; the server doesn't
        know if the link is pointing to a file or to a directory. By including the slash
        the server instantly knows that the &lt;acronym&gt;URL&lt;/acronym&gt; is pointing to a directory
        and doesn't need to spend any time trying to work it out.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-6990877202225665960?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7WuJ-MDMH2nSwBUbqKWdaagOQJc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7WuJ-MDMH2nSwBUbqKWdaagOQJc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7WuJ-MDMH2nSwBUbqKWdaagOQJc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7WuJ-MDMH2nSwBUbqKWdaagOQJc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/sGl4YoSntLs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/6990877202225665960/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=6990877202225665960" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/6990877202225665960?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/6990877202225665960?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/sGl4YoSntLs/ten-ways-to-speed-up-download-time-of.html" title="Ten ways to speed up the download time of your web pages" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2009/02/ten-ways-to-speed-up-download-time-of.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMHQ3g8eyp7ImA9WxRTFE4.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-4971823794601078484</id><published>2008-08-29T11:36:00.000+05:30</published><updated>2008-09-03T15:53:52.673+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-03T15:53:52.673+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net" /><title>Prevent user from back to the previous page after logout</title><content type="html">&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;
&lt;b&gt;&lt;span style=";font-family:Arial;color:green;"  &gt;Problem:&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=";font-family:Arial;color:maroon;"  &gt; Prevent user from back to the previous page after logout.&lt;/span&gt;&lt;/b&gt;          
&lt;/span&gt;  &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;
&lt;b&gt;&lt;span style=";font-family:Arial;color:green;"  &gt;Solution:&lt;/span&gt;&lt;/b&gt;
&lt;/span&gt;  &lt;span style=";font-family:Arial;font-size:100%;"  &gt;For this scenario, my idea is to write a cookie when logout (check the “SetLogoutCookie” function), and read the cookie when page load for each web page except login.aspx (check the “RedirectToLoginPage” function). If the data in cookie means logout then redirect current page to login.aspx.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;  &lt;span style="font-size:100%;"&gt;***** default.aspx ******
&lt;/span&gt;  &lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&amp;gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;  &lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;head runat="server"&amp;gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style=""&gt;
    &lt;/span&gt;&amp;lt;title&amp;gt;Untitled Page&amp;lt;/title&amp;gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style=""&gt;
    &lt;/span&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style=""&gt;
        &lt;/span&gt;function &lt;b&gt;&lt;span style="color:red;"&gt;SetLogoutCookie&lt;/span&gt;&lt;/b&gt;(value)&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;{&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;    &lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style="color:purple;"&gt;var exdate=new Date();&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;color:purple;"   &gt;&lt;span style=""&gt;           &lt;/span&gt;
&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;color:purple;"   &gt;    exdate.setDate(exdate.getDate()+1);&lt;/span&gt;
&lt;/p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;color:purple;"   &gt;&lt;span style=""&gt;            &lt;/span&gt;    var expires = ";
&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;color:purple;"   &gt;    expires=" + exdate.toGMTString();&lt;/span&gt;
&lt;/p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;color:purple;"   &gt;&lt;span style=""&gt;            &lt;/span&gt;    document.cookie = "logout=" + value + expires+";
&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;color:purple;"   &gt;    path=/";&lt;/span&gt;
&lt;/p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style=""&gt;              &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;  &lt;o:p&gt;&lt;/o:p&gt; &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;    &lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style=""&gt;            &lt;/span&gt;function &lt;b&gt;&lt;span style="color:teal;"&gt;Checklogout&lt;/span&gt;&lt;/b&gt;()&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style=""&gt;
        &lt;/span&gt;{&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style=""&gt;          &lt;/span&gt;    var c_start = document.cookie.indexOf("logout=");&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;    if (c_start!=-1)&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style=""&gt;
            &lt;/span&gt;    {&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style=""&gt;
                &lt;/span&gt;        c_start=c_start + 7;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style=""&gt;           &lt;/span&gt;c_end=document.cookie.indexOf(";",c_start)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;        if (c_end==-1)
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style=""&gt;                   &lt;/span&gt;        {&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style=""&gt;                  &lt;/span&gt;
&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;            c_end=document.cookie.length;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;        }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;           
&lt;/span&gt;&lt;span style="font-size:100%;"&gt;        if(document.cookie.substring(c_start,c_end)&lt;/span&gt;== "true")
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style=""&gt;                   &lt;/span&gt;        {&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;            return true;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
      }&lt;/span&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style=""&gt;               &lt;/span&gt;    }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;    return false;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style=""&gt;            &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style=""&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style=""&gt;            &lt;/span&gt;function &lt;b&gt;&lt;span style="color:blue;"&gt;RedirectToLoginPage&lt;/span&gt;&lt;/b&gt;()&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style=""&gt;
        &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;    if (&lt;b&gt;&lt;span style="color:teal;"&gt;Checklogout&lt;/span&gt;&lt;/b&gt;())&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style=""&gt;
            &lt;/span&gt;    {&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style=""&gt;
                &lt;/span&gt;        window.location = "login.aspx";&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;    }&lt;/span&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style=""&gt;           &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;/head&amp;gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&amp;lt;body &lt;b&gt;onload="&lt;span style="color:blue;"&gt;RedirectToLoginPage&lt;/span&gt;()"&lt;/b&gt;&amp;gt;
&lt;/span&gt;  &lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;form id="form1" runat="server"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;div&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click"
  &lt;b&gt;OnClientClick="&lt;span style="color:red;"&gt;SetLogoutCookie('true')&lt;/span&gt;"&lt;/b&gt;&amp;gt;&lt;b&gt;&lt;span style="color:fuchsia;"&gt;Log out&lt;/span&gt;&lt;/b&gt; &amp;lt;/asp:LinkButton&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;/div&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style=""&gt;        &lt;/span&gt;&amp;lt;/form&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;/body&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;/html&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;  &lt;span style=";font-family:Arial;font-size:100%;"  &gt;************* default.aspx.cs ********************************&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style=""&gt;            &lt;/span&gt;protected void LinkButton1_Click(object sender, EventArgs e)&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;    FormsAuthentication.SignOut();&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style=""&gt;                &lt;/span&gt;    FormsAuthentication.RedirectToLoginPage();&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style=""&gt;
        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;  &lt;span style=";font-family:Arial;font-size:100%;"  &gt;************ login.aspx ************************************&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;  &lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;head runat="server"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;title&amp;gt;Untitled Page&amp;lt;/title&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style=""&gt;
        &lt;/span&gt;function&lt;span style="color:red;"&gt; &lt;b&gt;SetLogoutCookie&lt;/b&gt;&lt;/span&gt;(value)&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style=""&gt;            &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style="color:purple;"&gt;    var exdate=new Date();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;color:purple;"   &gt;    exdate.setDate(exdate.getDate()+1);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;color:purple;"   &gt;    var expires = "; expires="+exdate.toGMTString();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;color:purple;"   &gt;&lt;span style=""&gt;                  &lt;/span&gt;    document.cookie = "logout=" + value + expires+";
&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;color:purple;"   &gt;    path=/";&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;/script&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;  &lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;/head&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;body&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style=""&gt;        &lt;/span&gt;&amp;lt;form id="form1" runat="server"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;div&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;Name:&amp;lt;asp:TextBox ID="TBName" runat="server"&amp;gt;test&amp;lt;/asp:TextBox&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;br /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;Password:&amp;lt;asp:TextBox ID="TBPassword" runat="server"
  TextMode="Password"&amp;gt;&amp;lt;/asp:TextBox&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;br /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click"
  OnClientClick="&lt;b&gt;&lt;span style="color:red;"&gt;SetLogoutCookie('false')&lt;/span&gt;&lt;/b&gt;"&amp;gt;&lt;b&gt;&lt;span style="color:fuchsia;"&gt;Login&lt;/span&gt;&lt;/b&gt;&amp;lt;/asp:LinkButton&amp;gt;&amp;lt;/div&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;/form&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;  &lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;/body&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&amp;lt;/html&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;  &lt;span style=";font-family:Arial;font-size:100%;"  &gt;
&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;************ login.aspx.cs ***********************************&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;span style="color:gray;"&gt;protected void LinkButton1_Click(object sender, EventArgs e)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;color:gray;"   &gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;    if (FormsAuthentication.Authenticate(TBName.Text,&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;color:gray;"   &gt;TBPassword.Text))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style=""&gt;                   &lt;/span&gt;    {
&lt;/span&gt;  &lt;span style=";font-family:Arial;font-size:100%;color:gray;"   &gt;        FormsAuthentication.RedirectFromLoginPage(TBName.Text,false);&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;color:gray;"   &gt;    }&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;color:gray;"   &gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;  &lt;span style=";font-family:Arial;font-size:100%;"  &gt;************ web.config **********************************&lt;span style="color:gray;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;color:gray;"   &gt;&lt;span style=""&gt;            &lt;/span&gt;&amp;lt;authentication mode="Forms"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;&amp;lt;forms name="appNameAuth" path="/" loginUrl="login.aspx"
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;color:gray;"   &gt;      protection="All" timeout="30"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;color:gray;"   &gt;&amp;lt;credentials passwordFormat="Clear"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;color:gray;"   &gt;&amp;lt;user name="test" password="test" /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;color:gray;"   &gt;&amp;lt;/credentials&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;color:gray;"   &gt;&amp;lt;/forms&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;color:gray;"   &gt;&amp;lt;/authentication&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;color:gray;"   &gt;&amp;lt;authorization&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;color:gray;"   &gt;&amp;lt;deny users="?" /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Arial;font-size:100%;color:gray;"   &gt;&amp;lt;/authorization&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-4971823794601078484?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_9iy3qGHTe1JuZG6gQFMz-47rYs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_9iy3qGHTe1JuZG6gQFMz-47rYs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_9iy3qGHTe1JuZG6gQFMz-47rYs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_9iy3qGHTe1JuZG6gQFMz-47rYs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/m7tlKzSiT7c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/4971823794601078484/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=4971823794601078484" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/4971823794601078484?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/4971823794601078484?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/m7tlKzSiT7c/prevent-user-from-back-to-previous-page.html" title="Prevent user from back to the previous page after logout" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2008/08/prevent-user-from-back-to-previous-page.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEBQX0zfip7ImA9WxRTFE4.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-1107021116654893543</id><published>2008-06-24T16:39:00.000+05:30</published><updated>2008-09-03T15:57:30.386+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-03T15:57:30.386+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SQL" /><title>SQL Optimization Tips</title><content type="html">&lt;span style="font-weight: bold;"&gt;SQL Optimization Tips&lt;/span&gt;

• Use views and stored procedures instead of heavy-duty queries.
This can reduce network traffic, because your client will send to
server only stored procedure or view name (perhaps with some
parameters) instead of large heavy-duty queries text. This can be used
to facilitate permission management also, because you can restrict
user access to table columns they should not see.

• Try to use constraints instead of triggers, whenever possible.
Constraints are much more efficient than triggers and can boost
performance. So, you should use constraints instead of triggers,
whenever possible.

• Use table variables instead of temporary tables.
Table variables require less locking and logging resources than
temporary tables, so table variables should be used whenever possible.
The table variables are available in SQL Server 2000 only.

• Try to use UNION ALL statement instead of UNION, whenever possible.
The UNION ALL statement is much faster than UNION, because UNION ALL
statement does not look for duplicate rows, and UNION statement does
look for duplicate rows, whether or not they exist.

• Try to avoid using the DISTINCT clause, whenever possible.
Because using the DISTINCT clause will result in some performance
degradation, you should use this clause only when it is necessary.

• Try to avoid using SQL Server cursors, whenever possible.
SQL Server cursors can result in some performance degradation in
comparison with select statements. Try to use correlated sub-query or
derived tables, if you need to perform row-by-row operations.

• Try to avoid the HAVING clause, whenever possible.
The HAVING clause is used to restrict the result set returned by the
GROUP BY clause. When you use GROUP BY with the HAVING clause, the
GROUP BY clause divides the rows into sets of grouped rows and
aggregates their values, and then the HAVING clause eliminates
undesired aggregated groups. In many cases, you can write your select
statement so, that it will contain only WHERE and GROUP BY clauses
without HAVING clause. This can improve the performance of your query.

• If you need to return the total table's row count, you can use
alternative way instead of SELECT COUNT(*) statement.
Because SELECT COUNT(*) statement make a full table scan to return the
total table's row count, it can take very many time for the large
table. There is another way to determine the total row count in a
table. You can use sysindexes system table, in this case. There is
ROWS column in the sysindexes table. This column contains the total
row count for each table in your database. So, you can use the
following select statement instead of SELECT COUNT(*): SELECT rows
FROM sysindexes WHERE id = OBJECT_ID('table_name') AND indid &lt; 2 So,
you can improve the speed of such queries in several times.

• Include SET NOCOUNT ON statement into your stored procedures to stop
the message indicating the number of rows affected by a T-SQL statement.
This can reduce network traffic, because your client will not receive
the message indicating the number of rows affected by a T-SQL statement.

• Try to restrict the queries result set by using the WHERE clause.
This can results in good performance benefits, because SQL Server will
return to client only particular rows, not all rows from the table(s).
This can reduce network traffic and boost the overall performance of
the query.

• Use the select statements with TOP keyword or the SET ROWCOUNT
statement, if you need to return only the first n rows.
This can improve performance of your queries, because the smaller
result set will be returned. This can also reduce the traffic between
the server and the clients.

• Try to restrict the queries result set by returning only the
particular columns from the table, not all table's columns.
This can results in good performance benefits, because SQL Server will
return to client only particular columns, not all table's columns.
This can reduce network traffic and boost the overall performance of
the query.
1.Indexes
2.avoid more number of triggers on the table
3.unnecessary complicated joins
4.correct use of Group by clause with the select list
5 In worst cases Denormalization


Index Optimization tips

• Every index increases the time in takes to perform INSERTS, UPDATES
and DELETES, so the number of indexes should not be very much. Try to
use maximum 4-5 indexes on one table, not more. If you have read-only
table, then the number of indexes may be increased.

• Keep your indexes as narrow as possible. This reduces the size of
the index and reduces the number of reads required to read the index.

• Try to create indexes on columns that have integer values rather
than character values.

• If you create a composite (multi-column) index, the order of the
columns in the key are very important. Try to order the columns in the
key as to enhance selectivity, with the most selective columns to the
leftmost of the key.

• If you want to join several tables, try to create surrogate integer
keys for this purpose and create indexes on their columns.

• Create surrogate integer primary key (identity for example) if your
table will not have many insert operations.

• Clustered indexes are more preferable than nonclustered, if you need
to select by a range of values or you need to sort results set with
GROUP BY or ORDER BY.

• If your application will be performing the same query over and over
on the same table, consider creating a covering index on the table.

• You can use the SQL Server Profiler Create Trace Wizard with
"Identify Scans of Large Tables" trace to determine which tables in
your database may need indexes. This trace will show which tables are
being scanned by queries instead of using an index.

• You can use sp_MSforeachtable undocumented stored procedure to
rebuild all indexes in your database. Try to schedule it to execute
during CPU idle time and slow production periods.
sp_MSforeachtable @command1="print '?' DBCC DBREINDEX ('?')"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-1107021116654893543?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TxlAfIWa-1VWY_R13U-6b5sOb0I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TxlAfIWa-1VWY_R13U-6b5sOb0I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TxlAfIWa-1VWY_R13U-6b5sOb0I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TxlAfIWa-1VWY_R13U-6b5sOb0I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/rjpAYoEa0Hc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/1107021116654893543/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=1107021116654893543" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/1107021116654893543?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/1107021116654893543?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/rjpAYoEa0Hc/sql-optimization-tips.html" title="SQL Optimization Tips" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2008/06/sql-optimization-tips.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQESHY5cCp7ImA9WxdQEko.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-1091750396632072766</id><published>2008-06-12T15:21:00.001+05:30</published><updated>2008-06-12T17:51:49.828+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-12T17:51:49.828+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Windows Mobile Development" /><title>How to Determine CompactFramework Version</title><content type="html">If you are developing mobile application for Windows PocketPC and Windows Mobile using Microsoft Compact Framework, you may need to deploy Compact Framework to targeted mobile device in order to run your application.

It is crucial to determine what version is currently installed on targeted device and if the installed version fits your application requirement. Different builds may work differently and thus may break your application if installed wrong version.

&lt;span style="font-weight:bold;"&gt;How to Check If Compact Framework Already Installed on Mobile Device&lt;/span&gt;

There are few ways to check if any compact framework has been installed. However, I will show you the basic ways to determine compact framework installation.

   1. On your device, go to My Device -&gt; Windows and run cgacutil.exe. The version will be displayed on screen.
   2. Check if \Windows\mscoree.dll file exists. If this file is exists, that means the compact framework has been installed.

Now you know Compact Framework already installed on the mobile device and want to know which revision and builds is being installed.

&lt;span style="font-weight:bold;"&gt;How to Determine Compact Framework Version&lt;/span&gt;

In order to check the version installed, you can access the registry key on targeted mobile. The registry key that you want to look at is

    HKLM\SOFTWARE\Microsoft\.NetCompactFramework

All versions of Compact Framework installed will be listed in this key. Take not that all Compact Framework 1,2 and 3.5 (beta) can co-exists at the same time on the same mobile device. Thus, you may see both versions on the list if both versions already installed. For more information on what the revision number means, please refer to table below.
&lt;span style="font-weight:bold;"&gt;
Compact Framework Version List&lt;/span&gt;

There are 2 tables below that list out all builds and revisions for Compact Framework 1.0 , Compact Framework 2.0 and Compact Framework 3.5. (There won’t be a CF 3.0).
&lt;span style="font-weight:bold;"&gt;Compact Framework 1.0&lt;/span&gt;   
1.0.2268.00  RTM
1.0.3111.00  SP1
1.0.3226.00  SP2 Recall
1.0.3227.00  SP2 Beta
1.0.3316.00  SP2 Final
1.0.4292.0  SP3
&lt;br&gt;
&lt;span style="font-weight:bold;"&gt;Compact Framework 2.0  &lt;/span&gt; 
2.0.5238.00  RTM
2.0.6129.0  SP1
2.0.7045.0  SP2
&lt;br&gt;
&lt;span style="font-weight:bold;"&gt;Compact Framework 3.5 &lt;/span&gt;  
3.5.7066.0  Beta 1
3.5.7121.0  Beta 2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-1091750396632072766?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Xy5VQbWq0uOoZiAPaUscCI1aJN0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Xy5VQbWq0uOoZiAPaUscCI1aJN0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Xy5VQbWq0uOoZiAPaUscCI1aJN0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Xy5VQbWq0uOoZiAPaUscCI1aJN0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/-Ft26xZwX28" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/1091750396632072766/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=1091750396632072766" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/1091750396632072766?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/1091750396632072766?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/-Ft26xZwX28/how-to-determine-compactframework.html" title="How to Determine CompactFramework Version" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2008/06/how-to-determine-compactframework.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQESHY5cCp7ImA9WxdQEko.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-2232580812682870701</id><published>2008-06-12T15:20:00.000+05:30</published><updated>2008-06-12T17:51:49.828+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-12T17:51:49.828+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Windows Mobile Development" /><title>Requirements for Pocket PC/ Windows Mobile to run .Net Application with SQL Server.</title><content type="html">1) To Connect PDA to PC you need &lt;span style="font-weight:bold;"&gt;ActiveSync&lt;/span&gt;   software .

2) After Mobile Connected with PC download the SQL Compact 3.1 SDK and coy these 3 cab files from C:\Program Files\Microsoft SQL Server Compact Edition\v3.1\SDK\bin\wce500\armv4i to your device:

#sqlce30.wce5.armv4i.CAB
#sqlce30.repl.wce5.armv4i.CAB
#sqlce30.dev.ENU.wce5.armv4i.CAB

3)Install &lt;span style="font-weight:bold;"&gt;NetCFSetupv2.msi&lt;/span&gt; from PC. It will install .Net Compact framework 2.0 in both PC and Mobile.

You can download 
1&gt;NetCFSetupv2.msi from &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=9655156b-356b-4a2c-857c-e62f50ae9a55&amp;displaylang=en"&gt;Here&lt;/a&gt;
2&gt;SSCEDeviceRuntime-ENU.msi from &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=68539FAE-CF03-4C3B-AEDA-769CC205FE5F&amp;displaylang=en"&gt;Here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-2232580812682870701?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QOKhLmc9cuEHmOOLBex9k7ngUUE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QOKhLmc9cuEHmOOLBex9k7ngUUE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QOKhLmc9cuEHmOOLBex9k7ngUUE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QOKhLmc9cuEHmOOLBex9k7ngUUE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/lW7ZsVNbasU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/2232580812682870701/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=2232580812682870701" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/2232580812682870701?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/2232580812682870701?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/lW7ZsVNbasU/requirements-for-pocket-pc-windows.html" title="Requirements for Pocket PC/ Windows Mobile to run .Net Application with SQL Server." /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2008/06/requirements-for-pocket-pc-windows.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQESHY5cCp7ImA9WxdQEko.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-3829113905968973252</id><published>2008-06-12T15:19:00.002+05:30</published><updated>2008-06-12T17:51:49.828+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-12T17:51:49.828+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Windows Mobile Development" /><title>Some Usefule links regarding Pocket PC development</title><content type="html">http://pocketpccentral.net/!pocket_pcs.htm#phone

http://www.microsoft.com/downloads

http://msdn.microsoft.com/en-us/library/fkack1sx.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-3829113905968973252?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tSarWkVijPuAaj8cM9-uIQcVCw4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tSarWkVijPuAaj8cM9-uIQcVCw4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tSarWkVijPuAaj8cM9-uIQcVCw4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tSarWkVijPuAaj8cM9-uIQcVCw4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/poJawrUX57c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/3829113905968973252/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=3829113905968973252" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/3829113905968973252?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/3829113905968973252?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/poJawrUX57c/some-usefule-links-regarding-pocket-pc.html" title="Some Usefule links regarding Pocket PC development" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2008/06/some-usefule-links-regarding-pocket-pc.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQESHY5cCp7ImA9WxdQEko.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-1552176347483154062</id><published>2008-06-12T15:19:00.001+05:30</published><updated>2008-06-12T17:51:49.828+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-12T17:51:49.828+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Windows Mobile Development" /><title>How can I tell if my Pocket PC has a Pocket PC 2000/2002/2003 or a Windows Mobile 5 or 6 Operating System?</title><content type="html">Q: How can I tell if my Pocket PC has a Pocket PC 2000/2002/2003 or a Windows Mobile 5 or 6 Operating System?

A: To find out what Pocket PC version you are running follow the steps below:

    * Select Start, then Settings on your Pocket PC

    * Choose the System tab, then the About icon

    * If the copyright in the About screen is 2001 or later, then you have a Pocket PC 2002 or later Pocket PC device. 

    * If the operating system version is 4.0 but less than 5.0 it is a Pocket PC 2003 or 2003 Device

    * If the operating system version is 5.0 but less than 5.2 it is a Windows Mobile 5 Pocket PC or Pocket PC Phone Device.
       
    * If the operating system version is 5.2 or greater is a Windows Mobile 6 device.
      Windows Mobile 6 comes in three variations:

      - Classic (touch screen, no phone capabilities) previously 'Pocket PC'
      - Standard (non-touch screen) previously 'Smartphone'
      - Professional (touch screen with phone) previously 'Pocket PC Phone Edition'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-1552176347483154062?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/T1WIEle6S7-2suecdCAsgnc6Eck/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/T1WIEle6S7-2suecdCAsgnc6Eck/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/T1WIEle6S7-2suecdCAsgnc6Eck/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/T1WIEle6S7-2suecdCAsgnc6Eck/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/8H9XXTKJpQA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/1552176347483154062/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=1552176347483154062" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/1552176347483154062?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/1552176347483154062?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/8H9XXTKJpQA/how-can-i-tell-if-my-pocket-pc-has.html" title="How can I tell if my Pocket PC has a Pocket PC 2000/2002/2003 or a Windows Mobile 5 or 6 Operating System?" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2008/06/how-can-i-tell-if-my-pocket-pc-has.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQESHY5cCp7ImA9WxdQEko.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-7081764763159928036</id><published>2008-06-11T19:13:00.000+05:30</published><updated>2008-06-12T17:51:49.828+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-12T17:51:49.828+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Windows Mobile Development" /><title>WinCE Problem - .Net compact framework 2.0 installation problem</title><content type="html">Solution for following errors (for .net compact framework 2.0):
1) "Installation of netcfv2.wce4.armv4.cab was unsuccessful" in WinCE mobile
2) "This application requires a newer version of the microsoft .net compact framework than the version installed on this device"

Normally this error comes when your mobile has older version of compact framework and you are trying to install .net application of newer version.
 
SOLUTION: 
1) Install or reinstall NetCFSetupv2.msi in desktop. It will install .net compact framework in both desktop pc and mobile.

--have a good day.(RK)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-7081764763159928036?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/e_GWgBWb4xGspSk7S5pK6BoxGcA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/e_GWgBWb4xGspSk7S5pK6BoxGcA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/e_GWgBWb4xGspSk7S5pK6BoxGcA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/e_GWgBWb4xGspSk7S5pK6BoxGcA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/xsVFV4Vzv-M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/7081764763159928036/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=7081764763159928036" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/7081764763159928036?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/7081764763159928036?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/xsVFV4Vzv-M/win-ce-problem.html" title="WinCE Problem - .Net compact framework 2.0 installation problem" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2008/06/win-ce-problem.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMGQ30-eSp7ImA9WxRTFEk.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-1603915373343586473</id><published>2008-05-27T18:27:00.000+05:30</published><updated>2008-09-03T16:43:42.351+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-03T16:43:42.351+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net" /><title>Caching in ASP.NET</title><content type="html">&lt;span style="font-weight: bold;"&gt;Abstract&lt;/span&gt;
Caching can dramatically improve the performance of your application by storing the page output or application data across HTTP requests. In this article, Joydip discusses the different types of Caching in ASP.NET with lucid code examples.
&lt;p class="MsoNormal"&gt;Caching is a feature of ASP.NET that improves the performance of web applications by minimizing the usage of server resources to a great extent. This article discusses Caching, its types and contains some lucid code examples to illustrate On- Demand Data Caching.
&lt;/p&gt;&lt;p style="font-weight: bold;" class="SectionHeading"&gt;What is Caching?&lt;/p&gt;Caching is a feature that stores data in local memory, allowing incoming requests to be served from memory directly.
&lt;p style="font-weight: bold;" class="SectionHeading"&gt;Benefits of Caching
&lt;/p&gt;&lt;p class="MsoListBullet"&gt;The following are the benefits of using Caching&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Faster page rendering&lt;/li&gt;&lt;li&gt;Minimization of database hits&lt;/li&gt;&lt;li&gt;Minimization of the consumption of server resources&lt;/li&gt;&lt;/ul&gt;&lt;p style="font-weight: bold;" class="SectionHeading"&gt;Types of Caching&lt;/p&gt;Caching in ASP.NET can be of the following types
&lt;ul&gt;&lt;li&gt;Page Output Caching&lt;/li&gt;&lt;li&gt;Page Fragment Caching
&lt;/li&gt;&lt;li&gt;Data Caching
&lt;/li&gt;&lt;li&gt;Page Output Caching
&lt;/li&gt;&lt;/ul&gt;&lt;p class="MsoNormal"&gt;This is a concept by virtue of which the output of pages is cached using an Output Cache engine and all subsequent requests are served from the cache. Whenever a new request comes, this engine would check if there is a corresponding cache entry for this page. If there is a cache hit, i.e., if the engine finds a corresponding cache entry for this page, the page is rendered from the cache, else, the page being requested is rendered dynamically.
&lt;/p&gt;&lt;p class="MsoNormal"&gt;This is particularly useful for pages that are static and thus do not change for a considerable period of time.
&lt;/p&gt;&lt;p class="MsoListBullet"&gt;Page output caching can be implemented in either of the following two ways:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;At design time using the OutputCache directive&lt;/li&gt;&lt;li&gt;At runtime using the HttpPolicy class&lt;/li&gt;&lt;/ul&gt;&lt;p class="MsoNormal"&gt;The following is the complete syntax of page output caching directive&lt;/p&gt;

&lt;div class="MsoNormal"&gt;&lt;pre&gt;&lt;span style="color: Black;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;&lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;&amp;lt;%@ OutputCache Duration="no of seconds"
Location="Any | Client | Downstream | Server | None"
VaryByControl="control"
VaryByCustom="browser |customstring"
VaryByHeader="headers"
VaryByParam="parameter" %&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p class="MsoNormal"&gt;The following statement is used to implement output caching in an aspx page at design time.  The directive is placed at the top of the .aspx page.&lt;/p&gt;
&lt;div class="MsoNormal"&gt;&lt;pre&gt;&lt;span style="color: Black;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;&lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;&amp;lt;%@OutputCache Duration="30"
VaryByParam="none" %&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p class="MsoNormal"&gt;The duration parameter specifies for how long the page would be in cache and the VaryByParam parameter is used to cache different views of the page. In the code example above, the cache duration is 30 seconds. Cache duration is a required field, and must be set to an integer greater than zero.  The VaryByParam parameter, which is also required, specifies whether the cached page would differ in versions based on any parameter. A value of * in the same parameter indicates that the page would be cached based on all the Get/Post parameters. We can also specify one or more Get/Post parameter(s). Hence, the same statement shown above can have the following variations. The VaryByParam parameter is particularly useful in situations where we require caching a page based on certain criteria. As an example, we might require to cache a specific page based on the EmployeeID.&lt;/p&gt;
&lt;div class="MsoNormal"&gt;&lt;pre&gt;&lt;span style="color: Black;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;&lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;&amp;lt;%@OutputCache Duration="30"
VaryByParam="*" Location = "Any"%&amp;gt;&lt;/span&gt;  

&lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;&amp;lt;%@OutputCache Duration="30"
VaryByParam="EmployeeID" Location = "Client" %&amp;gt;&lt;/span&gt;  
&lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;&amp;lt;%@OutputCache Duration="30"
VaryByParam="EmployeeID;Basic" %&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p class="MsoNormal"&gt;The VaryByParam parameter can also have multiple parameters as shown in the example above.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;The location parameter is used to specify the cache location, either the server of the client.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;To set a page's cacheability programmatically we have to use the method Response.Cache.SetCacheability. This method accepts the following parameters
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;NoCache&lt;/li&gt;&lt;li&gt;Private&lt;/li&gt;&lt;li&gt;Public&lt;/li&gt;&lt;li&gt;Server
&lt;/li&gt;&lt;/ul&gt;&lt;p class="MsoNormal"&gt;The code snippet below shows how to set a page’s cacheability programmatically:
&lt;/p&gt;
&lt;div class="MsoNormal"&gt;&lt;pre&gt;&lt;span style="color: Black;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;Response.Cache.SetCacheability(HttpCacheability.Server);&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p class="MsoNormal"&gt;Additionally we can set other properties which map to the same fields available when using the OutputCache directive on the page:&lt;/p&gt;
&lt;div class="MsoNormal"&gt;&lt;pre&gt;&lt;span style="color: Black;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;Response.Cache.SetExpires(DateTime.Now.AddSeconds(30));
Response.Cache.SetValidUntilExpires(&lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;true&lt;/span&gt;);
Response.Cache.VaryByParams[&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-weight: normal;font-family:Courier New;font-size:11;"  &gt;"EmployeeID"&lt;/span&gt;]&lt;span style="color: Red;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;=&lt;/span&gt; &lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;true&lt;/span&gt;; &lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;p style="font-weight: bold;" class="SectionHeading"&gt;Page Fragment Caching&lt;/p&gt;
&lt;p class="MsoNormal"&gt;This allows specific portions of the page to be cached rather than caching the whole page. This is useful in situations where we can have a page that contains both static and dynamic content. The following code depicts how this can be accomplished.&lt;/p&gt;

&lt;div class="MsoNormal"&gt;&lt;pre&gt;&lt;span style="color: Black;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;&lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;&amp;lt;%@ OutputCache Duration="15"
VaryByControl="EmpID;DeptID" VaryByParam="*"%&amp;gt;&lt;/span&gt;   &lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p class="MsoNormal"&gt;This directive is placed at the top of any User Control (.axcx file).
&lt;/p&gt;&lt;span style="font-weight: bold;"&gt;Data Caching&lt;/span&gt;
&lt;p class="MsoNormal"&gt;The following code is an implementation of On-Demand caching. The method GetUserInfo checks to see if the data exists in the cache. If it is present, it is returned from the cache, else, the GetUserInfoFromDatabase method fills the DataSet from the database and then populates the Cache. &lt;/p&gt;
&lt;div class="MsoNormal"&gt;&lt;pre&gt;&lt;span style="color: Black;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;&lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;public&lt;/span&gt; DataSet GetUserInfo()
{  

  &lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;string&lt;/span&gt; cacheKey &lt;span style="color: Red;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;=&lt;/span&gt; &lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-weight: normal;font-family:Courier New;font-size:11;"  &gt;"UserInfo"&lt;/span&gt;;  
  DataSet ds &lt;span style="color: Red;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;=&lt;/span&gt; Cache[cacheKey] &lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;as&lt;/span&gt; DataSet;  
  &lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;if&lt;/span&gt; (ds == &lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;null&lt;/span&gt;)  

 {    
   ds &lt;span style="color: Red;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;=&lt;/span&gt; GetUserInfoFromDatabase();    
   Cache.Insert(cacheKey, ds, &lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;null&lt;/span&gt;, NoAbsoluteExpiration,      
   TimeSpan.FromHours(15),CacheItemPriority.High, &lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;null&lt;/span&gt;);  

}     
&lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;return&lt;/span&gt; ds;
}  

DataSet GetUserInfoFromDatabase() {
&lt;span style="color: Green;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;// Usual code to populate a data set from thedatabase. This data set &lt;/span&gt;

&lt;span style="color: Green;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;// object is then returned. &lt;/span&gt;
}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p class="SectionHeading"&gt;Cache Expirations&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Cache expirations can be of the following types&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Time Based Expiration&lt;/li&gt;&lt;li&gt;Dependency Based Expiration&lt;/li&gt;&lt;li&gt;Time Based Expiration
&lt;/li&gt;&lt;/ul&gt;&lt;p class="MsoNormal"&gt;This is used to specify a specific period of time for which the page would remain in the cache. The following statement specifies such expiration for a page in the code behind of a file using C#.&lt;/p&gt;
&lt;div class="MsoNormal"&gt;&lt;pre&gt;&lt;span style="color: Black;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;Response.Cache.SetExpires(DateTime.Now.AddSeconds(120));&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;This can also be accomplished by stating the same in the output cache directive as shown here.
&lt;div class="MsoNormal"&gt;&lt;pre&gt;&lt;span style="color: Black;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;&lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;&amp;lt;%@OutputCache Duration="60"
VaryByParam="None" %&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p style="font-weight: bold;" class="SectionHeading"&gt;Cache Expiration&lt;/p&gt;Cache expiration strategies can be implemented in either of the following two ways:
&lt;ul&gt;&lt;li&gt;Time Based&lt;/li&gt;&lt;li&gt;File Based&lt;/li&gt;&lt;li&gt;Key Based&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Time Based Expiration&lt;/span&gt;
&lt;p class="MsoNormal"&gt;This is implemented by specifying a specific duration for which the item would remain in the cache. When the time elapses, the item is removed from the cache and subsequent requests to retrieve the item returns a null. Time based expiration strategies can be of the following two types:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Absolute&lt;/li&gt;&lt;li&gt;Sliding&lt;/li&gt;&lt;li&gt;&lt;span class="Italic"&gt;Absolute&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="MsoNormal"&gt;&lt;pre&gt;&lt;span style="color: Black;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;Cache.Insert(&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-weight: normal;font-family:Courier New;font-size:11;"  &gt;"UserInfo"&lt;/span&gt;, dsUserInfo, &lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;null&lt;/span&gt;,
DateTime.Now.AddMinutes(1), NoSlidingExpiration); &lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p style="font-weight: bold;" class="MsoNormal"&gt;&lt;span class="Italic"&gt;Sliding&lt;/span&gt;&lt;/p&gt;
&lt;div class="MsoNormal"&gt;&lt;pre&gt;&lt;span style="color: Black;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;Cache.Insert(&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-weight: normal;font-family:Courier New;font-size:11;"  &gt;"UserInfo"&lt;/span&gt;, dsUserInfo, &lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;null&lt;/span&gt;,
NoAbsoluteExpiration,

TimeSpan.FromSeconds(60));&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p class="MsoNormal"&gt;Note that you cannot use both Absolute and Sliding expirations at the same time.&lt;/p&gt;
&lt;p style="font-weight: bold;" class="SectionHeading"&gt;File Based Expiration&lt;/p&gt;This is implemented by using a file as a dependency. Whenever the contents of the dependency file are changed, the cached is invalidated. Please refer to the code below.
&lt;div class="MsoNormal"&gt;&lt;pre&gt;&lt;span style="color: Black;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;CacheDependency cacheDependency &lt;span style="color: Red;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;=&lt;/span&gt; newCacheDependency(&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-weight: normal;font-family:Courier New;font-size:11;"  &gt;"userinfo.xml"&lt;/span&gt;);
Cache.Insert(&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-weight: normal;font-family:Courier New;font-size:11;"  &gt;"UserInfo"&lt;/span&gt;, xmldocObject,cacheDependency); &lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
In addition to files, entire folders can be monitored for changes using the CacheDependency class.
&lt;p style="font-weight: bold;" class="SectionHeading"&gt;Key Based Expiration&lt;/p&gt;The third type of dependency is the key dependency.  With it, a cache entry can be made to depend on another, existing dependency.  When the depended-upon entry changes or expires, the dependent entry will also be expired.  An array of keys can be specified as a single CacheDependency.
&lt;div class="MsoNormal"&gt;&lt;pre&gt;&lt;span style="color: Black;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;&lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;string&lt;/span&gt;[] keys &lt;span style="color: Red;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;=&lt;/span&gt; &lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;new&lt;/span&gt; &lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;string&lt;/span&gt;[] {&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-weight: normal;font-family:Courier New;font-size:11;"  &gt;"key"&lt;/span&gt;};
CacheDependency cacheDependency &lt;span style="color: Red;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;=&lt;/span&gt; newCacheDependency(&lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;null&lt;/span&gt;,keys);
Cache.Insert(&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-weight: normal;font-family:Courier New;font-size:11;"  &gt;"UserInfo"&lt;/span&gt;, xmldocObject,cacheDependency);&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p class="SectionHeading"&gt; &lt;span style="font-weight: bold;"&gt;Using Callbacks&lt;/span&gt;&lt;/p&gt;The delegate CacheItemRemovedCallback event handler is used to respond to the event that is raised when an item is deleted from cache. This handler contains the code to populate / re-populate the cache. Please refer to the code snippet below.
&lt;div class="MsoNormal"&gt;&lt;pre&gt;&lt;span style="color: Black;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;&lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;public&lt;/span&gt; &lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;void&lt;/span&gt; onRemoveCallBack(&lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;string&lt;/span&gt; str, objectobj, CacheItemRemovedReason reason)
{  
   DataSet dataset &lt;span style="color: Red;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;=&lt;/span&gt; GetUserInfoFromDatabase();  

   Cache[&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-weight: normal;font-family:Courier New;font-size:11;"  &gt;"userInfo"&lt;/span&gt;] &lt;span style="color: Red;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;=&lt;/span&gt; dataset;
} &lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p class="MsoListNumber"&gt;1.&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal;font-family:'Times New Roman';font-size:7;"  &gt; &lt;/span&gt;First declare a class variable onRemove as shown below.&lt;/p&gt;
&lt;div class="MsoNormal"&gt;&lt;pre&gt;&lt;span style="color: Black;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;&lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;private&lt;/span&gt; &lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;static&lt;/span&gt; CacheItemRemovedCallback onRemove &lt;span style="color: Red;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;=&lt;/span&gt; &lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;null&lt;/span&gt;; &lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p class="MsoListNumber"&gt;2.&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal;font-family:'Times New Roman';font-size:7;"  &gt; &lt;/span&gt;This delegate is invoked as shown below.&lt;/p&gt;
&lt;div class="MsoNormal"&gt;&lt;pre&gt;&lt;span style="color: Black;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;onRemove &lt;span style="color: Red;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;=&lt;/span&gt; newCacheItemRemovedCallback(&lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;this&lt;/span&gt;.onRemoveCallBack);&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p class="MsoListNumber"&gt;3.&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal;font-family:'Times New Roman';font-size:7;"  &gt; &lt;/span&gt;The following code snippet shows how this handler is specified when items are added to the Cache.&lt;/p&gt;&lt;pre&gt;&lt;span style="color: Black;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;
Cache.Insert(&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-weight: normal;font-family:Courier New;font-size:11;"  &gt;"userInfo"&lt;/span&gt;, ds, &lt;span style="color: Blue;font-family:Courier New;font-size:11;color:#0000e0;"   &gt;null&lt;/span&gt;, DateTime.Now.AddMinutes(2),
NoSlidingExpiration, CacheItemPriority.High,
CacheItemPriorityDecay.Slow, onRemove);&lt;/span&gt;&lt;/pre&gt;

&lt;p style="font-weight: bold;" class="SectionHeading"&gt;The Cache Class&lt;/p&gt;The Add/Insert method of the Cache class is used to add/insert an item into the cache. The Remove method removes a specified item from the cache. The Cache class contains the following properties and methods.
&lt;p style="font-weight: bold;" class="MsoNormal"&gt;&lt;span class="Italic"&gt;Properties&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Count&lt;/li&gt;&lt;li&gt;Item&lt;/li&gt;&lt;/ul&gt;
&lt;p style="font-weight: bold;" class="MsoNormal"&gt;&lt;span class="Italic"&gt;Methods &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Add&lt;/li&gt;&lt;li&gt;Equals&lt;/li&gt;&lt;li&gt;Get&lt;/li&gt;&lt;li&gt;GetEnumerator&lt;/li&gt;&lt;li&gt;GetHashCode&lt;/li&gt;&lt;li&gt;GetType&lt;/li&gt;&lt;li&gt;Insert&lt;/li&gt;&lt;li&gt;Remove (Overloaded)&lt;/li&gt;&lt;li&gt;ToString&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Conclusion&lt;/span&gt;

Judicious use of the right type of caching can dramatically improve the performance of web applications.  For more information about caching, please visit the &lt;a href="http://www.blogger.com/ref/caching.aspx"&gt;ASPAlliance Caching&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-1603915373343586473?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Va8Sf1FloKDP5Mp2Ph4BT--3gZY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Va8Sf1FloKDP5Mp2Ph4BT--3gZY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Va8Sf1FloKDP5Mp2Ph4BT--3gZY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Va8Sf1FloKDP5Mp2Ph4BT--3gZY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/gEWIqmDgH58" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/1603915373343586473/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=1603915373343586473" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/1603915373343586473?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/1603915373343586473?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/gEWIqmDgH58/caching-in-aspnet.html" title="Caching in ASP.NET" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2008/05/caching-in-aspnet.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEDSXc-cCp7ImA9WxRTFE4.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-7462704293396574323</id><published>2008-05-27T18:25:00.000+05:30</published><updated>2008-09-03T15:57:58.958+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-03T15:57:58.958+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".Net" /><title>Microsoft .NET Terminologies at a Glance</title><content type="html">Abstract
This article defines many important terminologies that are related to Microsoft .NET so as to enable the reader to have a ready guide to the technical terms. Terminologies related to Microsoft .NET Framework, ASP.NET, ADO.NET, XML, Biztalk Server, etc. are covered. This will also help readers prepare themselves to go into interviews confidently.
Overview
[ Back To Top ]

My objective in designing this article is to put an end to the arduous struggle of an IT professional seeking an understandable resource for the core terminologies of Microsoft.NET.  Let me save you valuable time and energy by providing you with an article that gives you many of the important terminologies in Microsoft .NET and its related technologies.  This article discusses most of the important terminologies related to Microsoft .NET Framework, ASP.NET, ADO.NET, Remoting and Web Services.  The terminologies are not organized in an alphabetical order, rather they are organized in the order of the categories that they belong to.

The Common Language Specification

This is a subset of the Common Type System (CTS) and defines a set of conventions that are targeted at language interoperability of all the languages that run within the .NET environment.

The Common Type System

The Common Type System (CTS) is a standard that defines the necessary rules for type interoperability for the languages targeting the .NET environment.  The common type system supports the following types.

·         Value Types

·         Reference Types

.NET Framework Class Library

The .NET Framework Class Library (FCL) is a set of managed classes that are responsible for providing access to the system services in the managed environment of Microsoft.NET.

The Common Language Runtime

The CLR is a runtime execution engine of .NET that provides an environment to execute programs that are targeted at the .NET platform.  It provides memory allocation, security, code verification, type verification, exception handling and garbage collection in the managed environment.

Common Language Infrastructure

The Common Language Infrastructure or the CLI provides support for language interoperability in the .NET managed environment.  It is comprised of the following features.

·         A File Format (PE)

·         Metadata

·         MSIL

·         Base Class Library

Assembly

An assembly is a group of resources and types, along with the metadata about those resources and types, deployed as a single unit.

Just In Time Compiler

The Just In Time Compiler or the JIT is responsible for compiling units of code and caching them at runtime as and when they are needed.  Since the compilation occurs at runtime, it is known as a Just In Time Compilation.

 

MSIL

A program compiled in the .NET managed environment generates an intermediate code to support platform independence.  This is called the MSIL or Microsoft Intermediate Language.

Strong Name

A Strong Name is a unique identifier given to an assembly using cryptography and a digital signature that is used to identify a particular assembly.  An assembly is provided a strong name using the utility called sn.exe.

A strong name consists of the following.

·         Name of the Assembly

·         Digital Signature

·         Version Number

·         Culture Information

Global Assembly Cache

The Global Assembly Cache is a system wide storage of shared assemblies.  Assemblies can be stored or moved to and from the Global Assembly Cache using a tool called GacUtil.

Managed Code

A managed code is one that provides restricted access to the system’s resources and can be executed only in a managed environment that is provided in Microsoft .NET by the Common Language Runtime.

Un-Managed Code

An Un-Managed code is one that executes outside of the Common Language Runtime environment and can perform unsafe operations.

Managed Data

Managed Data refers to the objects that are created by the Common Language Runtime environment and can be garbage collected implicitly by the Garbage Collector.

Shared Assembly

A Shared Assembly is one that can be referred by more that one application.  All shared assemblies should contain a strong name and should be located in the Global Assembly Cache (GAC).

Private Assembly

A Private Assembly is one that is private to one application.  In other words, it can be accessed by the containing application only.

Satellite Assembly

When you wish to localize the application, it can be written in culture-neutral code and can distribute the localized modules in separate assemblies called satellite assemblies.

Assembly Manifest

The Assembly Manifest contains the information about an assembly.  This includes the version number of the assembly, the list of the files that comprise the assembly, etc.  An assembly manifest is contained in the dll file or the exe file itself.

Resource

A resource refers to an addressable unit of data that is available for use by an application.  It consists of one or more of the following.

·         Texts

·         Files

·         Documents

·         Images

·         The .NET tool called resgen.exe is used to create resource files from the resource information that is stored in text or XML files.

Localization

Localization is the practice of designing and developing software that will properly use all of the conventions defined for a specific locale.  An assembly that is used to provide localization feature in ASP.NET applications is referred to as a Satellite Assembly.

Native Image Generator

This is a .NET tool that is used to compile a managed assembly to the native code and then store that in the local assembly cache.  The name of this tool is Ngen.exe.

Value Type

A value type is one that contains the value rather than the reference and is stored in the stack memory.  Examples of value types are integers, floats, doubles, structures, etc.

Reference Type

A reference type contains a reference to the actual object in memory and is stored in the managed heap. Objects of classes are good examples of reference types.

Boxing

Boxing refers to the conversion of a value type to a reference type.  Value types are stored in the stack and reference types are stored in the managed heap.

Un-Boxing

This refers to the conversion of a reference type to a value type.

Garbage Collection

Garbage Collection is a technique introduced in Microsoft .NET that manages memory cleanup implicitly.  This implicit reclaiming of memory in the .NET managed environment is handled by the Common Language Runtime.

Dispose Method

The Dispose method can be used in an unsealed class to cleanup resources explicitly.  It should be noted that both the Dispose and the Finalize methods should make a call to their parents' respective methods after they have disposed or finalized their own members.  A class that needs to have this method implemented should implement the IDisposable interface.

Finalize Method

The finalize method is a protected member of the Object class and is implicitly called at the runtime to cleanup unmanaged resources before the object is destroyed.

Code Verification

This is a feature that enforces type safety or type security by checking the code prior to its execution in the run time environment.  Therefore, it does not allow malicious code to get executed in the managed environment.

Authentication and Authorization

This is a security measure that is used to specify the user’s identity and authorization in ASP.NET. The process of authorization determines whether an authenticated user has access to a specific resource.  Authentication and Authorization details of an ASP.NET application are specified in the web.config file.  There can be three types of authentication in ASP.NET.

·         Forms Authentication

·         Windows Authentication

·         Passport Authentication

Web.Config File

The web.config file is the configuration file for an ASP.NET web application.  Typically, the following information is stored in a web.config file.

·         Database Connection Strings

·         Security

·         Session States

·         Impersonation

·         Error handling

Machine.Config File

The machine.config file contains the configuration settings for the entire application and is located in the Config sub-folder of the Microsoft .NET installation directory.

ASP.NET

ASP.NET is a language neutral, interoperable, server-side technology that allows creation, execution and deployment of scalable Web Applications and Services.

Caching

Caching is a feature that stores the data in the memory for serving the incoming requests from the memory itself.  Caching in ASP.NET can be of three types.

·         Page Output Caching

·         Page Fragment Caching

·         Data Caching

Singleton Pattern

A singleton pattern states that we can have a singleton class that can be instantiated only once in the application domain and provides a global point of access to it.

Application Domain

An application domain refers to the logical and physical boundary created around every .NET application.  An application domain is created by the Common Language Runtime and supports execution of multiple .NET applications in the same process by isolating them in different application domains.

View State

This is a client-side state management technique that continues the state of server controls by maintaining the state of pages across postbacks.  The view state is an encoded hashed string and is stored in a hidden field called __VIEWSTATE.

Session State

A session is the period of a connection between a server and a client.  The Session State allows storage of objects in a user’s session.  A session can be stored in one of the following ways.

·         InProc

·         State Server

·         SQL Server

Application State

This is a state management technique that allows objects to be stored and then globally accessed or shared by multiple modules of the application.  In ASP.NET, application state is maintained by the class HttpApplicationState.

Interface Definition Language (IDL)

The Interface definition Language (IDL) defines a protocol between the server and the client so that they can communicate in heterogeneous environments.

Universal Description, Discovery and Integration (UDDI)

Universal Description, Discovery and Integration is a platform independent, XML based, distributed directory that allows the enterprises to list themselves over the internet.  The UDDI business registration contains the following features.

·         Green Pages

·         White Pages

·         Yellow Pages

Web Service Description Language (WSDL)

The Web Service Description Language (WSDL) defines XML based contract services for describing the network services as a collection of communication end points.  A WSDL document contains the following.

·         Messages

·         Operation

·         Types

·         Service

·         Port and its type

Simple Object Oriented Protocol (SOAP)

This is an XML-based protocol that is used to exchange structured data and type information in a distributed environment.

Web Services

A web service is SOAP based, platform–independent software component that exposes itself through open communication channels of the web applications running on potentially different platforms.

Remoting

Remoting allows two processes, a Server and a Client, to inter-communicate in the same system, the same network or across networks.  In Remoting, a server and client communicate using a Channel.

Service Oriented Architecture

Service Oriented Architecture is an architecture that provides a seamless Enterprise Information Integration between loosely coupled distributed applications or services over the network.

Service

A service is an implementation of a well-defined, self-contained, independent business functionality that accepts one or more requests and returns one or more responses through a well-defined, standard interface.

Smart Client Architecture

The Smart Client Architecture is a deployable, multi-platform architecture that allows local application to connect to a server based application using web services.  It provides an adaptive and rich user interactive experience by using local resources.  A Smart Client application can work in both connected and disconnected modes.

ADO.NET

ADO.NET is an object oriented data access technology that enables you to access data from a managed environment.  It is essentially a collection of some classes used to communicate between an application and a database.

Connection Pool

A Connection Pool is a pool of available or ready-to-use connections.  When a new connection is requested it is served from the connection pool if one exists.  If not, a new connection is created. Connection Pooling improves the performance of applications to a large extent.

DataProvider

A DataProvider encapsulates the protocols that ADO.NET uses to interact with different types of databases.

DataSet

The DataSet is an in–memory, disconnected, XML compliant representation of the data.  Data in a DataSet can be changed, unlike a DataReader which is read only.

DataReader

A DataReader is a connected, forward only, read only stream of data that is retrieved from the database.

DataAdapter

The DataAdapter is a bridge between the DataSet and the underlying database. It provides a set of methods and properties to move data between a database and its in-memory representation, the DataSet.

DataView

A DataView is a class that provides a customized view of the DataSet.  It is typically used to sort or filter the rows.

Command

The Command object is used to send the SQL Statements to the database.  Commands are used to insert data, retrieve data and execute stored procedures in the database.

Connection

The Connection object establishes a connection to the database using the user name, password and the database name as parameters.

Transactions

A transaction is a block of statements that guarantees that all or none of the statements in the block are executed.  In ADO.NET, a transaction can be started by using the BeginTransaction() method on the currently active Connection.  To commit the transaction, the method CommitTransaction() is used.  In order to abandon the transaction, the method Rollback() is executed.

Serialization

This refers to the storage of an object into a persistent storage medium in a stream of bytes.  The opposite is de-serialization and is used to retrieve a serialized object from a storage medium.

Reflection

This is a feature that allows us to inspect the metadata of an assembly at runtime.  Reflection can be used to retrieve metadata information, such as the following.

·         Classes

·         Methods

·         Properties

·         Events

Biztalk Server

This is a set of Microsoft Server Applications that allow integration, automation and management of different server applications.

Exchange Server

This is a set of Microsoft Server Applications that are responsible for integrating messaging and data storage technologies.

Commerce Server

This is Microsoft’s Business Server that is used for managing and developing business web sites.

Array

An array is a collection of homogenous objects.  It is a group of elements of the same type that share a common name.  The size of an array is fixed and cannot be changed at runtime.

ArrayList

An ArrayList is a collection of heterogeneous elements- elements of different types.   Unlike an array, its size can be changed dynamically.

HashTable

A HashTable is a collection of heterogeneous objects that can be referred using either an index or a key.  Elements of an ArrayList can be referred to using an index only.

COM+

COM+ or COM Plus is a distributed, transactional, component-based technology that can be used in a multi-tiered architecture and provides support for Object Pooling.

Delegate

A delegate is a managed function pointer that refers to a method.  A multi-cast delegate is one that points to and can eventually fire off different methods.  A delegate is used to implement event handling in Microsoft .NET.

Event Handler

An event handler is a method that is executed in response to an event.

Exception

An exception is an event that is generated as a result of a runtime error.  An exception is handled using the exception blocks.  An exception that cannot be handled is referred to as a fatal exception and causes the flow of execution of the current program to terminate unexpectedly.

Try/Catch Block

A try/catch block is used in exception handling and provides a mechanism to trap runtime errors that can occur on execution of the application.  A try block contains the code that can generate a runtime error.  The catch block contains statements that are executed once the appropriate exception has occurred.  A try block can contain one or more catch blocks or a finally block.

Finally Block

A finally block is one that is executed irrespective of whether an exception occurs or not.  Typically, it is used in Exception Handling mechanism to release resources.

Namespace

A namespace refers to a logical grouping of types or identifiers used in a program.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-7462704293396574323?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kceo2dVk-Bjqri8Or7kwObn1r6c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kceo2dVk-Bjqri8Or7kwObn1r6c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kceo2dVk-Bjqri8Or7kwObn1r6c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kceo2dVk-Bjqri8Or7kwObn1r6c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/OLs5lFbqllQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/7462704293396574323/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=7462704293396574323" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/7462704293396574323?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/7462704293396574323?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/OLs5lFbqllQ/microsoft-net-terminologies-at-glance.html" title="Microsoft .NET Terminologies at a Glance" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2008/05/microsoft-net-terminologies-at-glance.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEDSXc-cCp7ImA9WxRTFE4.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-801001865282092280</id><published>2008-05-27T16:35:00.000+05:30</published><updated>2008-09-03T15:57:58.958+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-03T15:57:58.958+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".Net" /><title>22 New Features of Visual Studio 2008 for .NET Professionals</title><content type="html">&lt;div class="post-body"&gt;

&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4628964222949983";
/* .NET New TOP Rect */
google_ad_slot = "6594010637";
google_ad_width = 336;
google_ad_height = 280;
//--&gt;
&lt;/script&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;iframe name="google_ads_frame" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-4628964222949983&amp;amp;dt=1211885826230&amp;amp;lmt=1211799604&amp;amp;prev_slotnames=9548178311%2C6638141143&amp;amp;output=html&amp;amp;slotname=6594010637&amp;amp;correlator=1211885824574&amp;amp;url=http%3A%2F%2Fmsdotnetsupport.blogspot.com%2F2007%2F11%2F22-new-features-of-visual-studio-2008.html&amp;amp;ref=http%3A%2F%2Fmsdotnetsupport.blogspot.com%2F2007%2F04%2Fsending-email-in-aspnet.html&amp;amp;frm=0&amp;amp;cc=100&amp;amp;ga_vid=1300283605748608500.1211880334&amp;amp;ga_sid=1211885825&amp;amp;ga_hid=1882352035&amp;amp;ga_fc=true&amp;amp;flash=9.0.115&amp;amp;u_h=768&amp;amp;u_w=1024&amp;amp;u_ah=740&amp;amp;u_aw=1024&amp;amp;u_cd=32&amp;amp;u_tz=300&amp;amp;u_his=5&amp;amp;u_java=true&amp;amp;u_nplug=14&amp;amp;u_nmime=51" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" frameborder="0" height="280" scrolling="no" width="336"&gt;&lt;/iframe&gt;
 
&lt;p&gt;
&lt;strong&gt;1. LINQ Support&lt;/strong&gt;   &lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;a title="Introduction to LINQ" href="http://dotnetslackers.com/articles/csharp/IntroducingLINQ1.aspx" target="_blank" rel="Introduction to LINQ"&gt;LINQ&lt;/a&gt;&lt;/code&gt; essentially is the composition of many standard query operators that allow you to work with data in a more intuitive way regardless. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.google.com/duttavr/R0TMnp8D4CI/AAAAAAAAAZQ/2qS6OPbHgnQ/LINQ%5B6%5D" target="_blank"&gt;&lt;img style="border-width: 0px;" alt="LINQ" src="http://lh3.google.com/duttavr/R0TMp58D4DI/AAAAAAAAAZY/2AHbn0FC1RE/LINQ_thumb%5B4%5D" border="0" height="219" width="343"&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The benefits of using &lt;code&gt;&lt;a title="Introduction to LINQ" href="http://dotnetslackers.com/articles/csharp/IntroducingLINQ1.aspx" target="_blank" rel="Introduction to LINQ"&gt;LINQ&lt;/a&gt;&lt;/code&gt; are significant – Compile time checking &lt;code&gt;C#&lt;/code&gt; language queries, and the ability to debug step by step through queries.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2. Expression Blend Support&lt;/strong&gt;&lt;/p&gt; &lt;span class="fullpost"&gt;   &lt;p&gt;Expression blend is &lt;a title="XAML Overview" href="http://en.wikipedia.org/wiki/XAML" target="_blank" rel="XAML Overview"&gt;XAML&lt;/a&gt; generator tool for silverlight applications. You can install &lt;a title="Expression blend" href="http://www.microsoft.com/expression/products/overview.aspx?key=blend" target="_blank" rel="Expression blend"&gt;Expression blend&lt;/a&gt; as an embedded plug-in to Visual Studio 2008. By this you can get extensive web designer and JavaScript tool.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;3. Windows Presentation Foundation&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;WPF provides you an extensive graphic functionality you never seen these before. Visual Studio 2008 contains plenty of WPF &lt;a title="Windows Presentation Foundation Library" href="http://en.wikipedia.org/wiki/Windows_Presentation_Foundation" target="_blank" rel="Windows Presentation Foundation Library"&gt;Windows Presentation Foundation Library&lt;/a&gt; templates. By this a visual developer who is new to .NET, C# and VB.NET can easily develop the 2D and 3D graphic applications.&lt;/p&gt;    &lt;p&gt;Visual Studio 2008 provides free &lt;a title="game development library" href="http://www.microsoft.com/express/samples/GameCreators/" target="_blank" rel="game development library"&gt;game development library&lt;/a&gt; kits for games developers. currently this game development kits are available for C++ and also 2D/3D &lt;a title="Dark Matter" href="http://en.wikipedia.org/wiki/Dark_matter" target="_blank" rel="Dark Matter"&gt;Dark Matter&lt;/a&gt; one image and sounds sets.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;4. &lt;strong&gt;VS 2008 Multi-Targeting Support&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;Earlier you were not able to working with .NET 1.1 applications directly in visual studio 2005. Now in Visual studio 2008 you are able to create, run, debug the &lt;a title=".NET 2.0" href="http://www.google.co.in/url?sa=t&amp;amp;ct=res&amp;amp;cd=3&amp;amp;url=http%3A%2F%2Fmsdn.microsoft.com%2Fnetframework%2F&amp;amp;ei=vpxER83XFZrOswL3p6HLDQ&amp;amp;usg=AFQjCNHyM1-motNTSr9hPQJHnObteVUaQg&amp;amp;sig2=UKjAzmVN7cXnA0dsKsR4nw" target="_blank" rel=".NET 2.0"&gt;.NET 2.0&lt;/a&gt;, &lt;a title=".NET 3.0" href="http://www.google.co.in/url?sa=t&amp;amp;ct=res&amp;amp;cd=3&amp;amp;url=http%3A%2F%2Fmsdn.microsoft.com%2Fnetframework%2F&amp;amp;ei=vpxER83XFZrOswL3p6HLDQ&amp;amp;usg=AFQjCNHyM1-motNTSr9hPQJHnObteVUaQg&amp;amp;sig2=UKjAzmVN7cXnA0dsKsR4nw" target="_blank" rel=".NET 3.0"&gt;.NET 3.0&lt;/a&gt; and &lt;a title=".NET 3.5" href="http://www.google.co.in/url?sa=t&amp;amp;ct=res&amp;amp;cd=3&amp;amp;url=http%3A%2F%2Fmsdn.microsoft.com%2Fnetframework%2F&amp;amp;ei=vpxER83XFZrOswL3p6HLDQ&amp;amp;usg=AFQjCNHyM1-motNTSr9hPQJHnObteVUaQg&amp;amp;sig2=UKjAzmVN7cXnA0dsKsR4nw" target="_blank" rel=".NET 3.5"&gt;.NET 3.5&lt;/a&gt; applications. You can also deploy .NET 2.0 applications in the machines which contains only .NET 2.0 not .NET 3.x.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;5. AJAX support for ASP.NET &lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh6.google.com/duttavr/R0TMrp8D4EI/AAAAAAAAAZg/7qQtO8kismw/AJAX%5B2%5D" target="_blank"&gt;&lt;img style="border-width: 0px;" alt="AJAX" src="http://lh5.google.com/duttavr/R0TMtZ8D4FI/AAAAAAAAAZo/CSZnmwaDTV4/AJAX_thumb" border="0" height="226" width="244"&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Previously developer has to install AJAX control library separately that does not come from VS, but now if you install Visual Studio 2008, you can built-in AJAX control library. This Ajax Library contains plenty of rich AJAX controls like Menu, TreeView, webparts and also these components support &lt;a title="JSON" href="http://json.org/" target="_blank" rel="JSON"&gt;JSON&lt;/a&gt; and VS 2008 contains in built ASP.NET AJAX Control Extenders.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;6. JavaScript Debugging Support&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;Since starting of web development all the developers got frustration with solving javascript errors. Debugging the error in javascript is very difficult. Now Visual Studio 2008 makes it is simpler with javascript debugging. You can set break points and run the javaScript step by step and you can watch the local variables when you were debugging the javascript and solution explorer provides javascript document navigation support.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;7. Nested Master Page Support&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;Already Visual Studio 2005 supports nested master pages concept with .NET 2.0, but the problem with this Visual Studio 2005 that pages based on nested masters can't be edited using &lt;a title="WYSIWYG" href="http://en.wikipedia.org/wiki/WYSIWYG" target="_blank" rel="WYSIWYG"&gt;WYSIWYG&lt;/a&gt; web designer. But now in VS 2008 you can even edit the nested master pages.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;8. &lt;strong&gt;LINQ Intellisense &lt;/strong&gt;and Javascript Intellisense support for silverlight applications&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh6.google.com/duttavr/R0TMvp8D4GI/AAAAAAAAAZw/cEOu181yfzQ/javascriptintellisense%5B3%5D" target="_blank"&gt;&lt;img style="border-width: 0px;" alt="javascriptintellisense" src="http://lh4.google.com/duttavr/R0TMyJ8D4HI/AAAAAAAAAZ4/mMtjR754nk0/javascriptintellisense_thumb%5B1%5D" border="0" height="217" width="334"&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Most happy part for .NET developers is Visual Studio 2008 contains intellisense support for javascript. Javascript Intellisense makes developers life easy when writing client side validation, AJAX applications and also when writing &lt;a title="Silverlight" href="http://silverlighttutorials.blogspot.com/" target="_blank" rel="Silverlight"&gt;Silverlight&lt;/a&gt; applications&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Intellisense Support: &lt;/strong&gt;When we are writing the LINQ Query VS provides LINQ query syntax as tool tips.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;9. Organize Imports or Usings: &lt;/strong&gt;We have Organize Imports feature already in &lt;a title="Eclipse" href="http://www.eclipse.org/" target="_blank" rel="Eclipse"&gt;Eclipse&lt;/a&gt;. SInce many days I have been waiting for this feature even in VS. Now VS contains Organize Imports feature which removes unnecessary namespaces which you have imported. You can select all the namespaces and right click on it, then you can get context menu with Organize imports options like "Remove Unused Usings", "Sort Usings", "Remove and Sort". Refactoring support for new .NET 3.x features like Anonymous types, Extension Methods, Lambda Expressions.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;10. Intellisense Filtering: &lt;/strong&gt;Earlier in VS 2005 when we were typing with intellisense box all the items were being displayed. For example If we type the letter 'K' then intellisense takes you to the items starts with 'K' but also all other items will be presented in intellisense box. Now in VS 2008 if you press 'K' only the items starts with 'K' will be filtered and displayed.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;11. Intellisense Box display position&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh6.google.com/duttavr/R0TM0p8D4II/AAAAAAAAAaA/JknKg6bHd_Y/javascriptintellisense%5B6%5D" target="_blank"&gt;&lt;img style="border-width: 0px;" alt="javascriptintellisense" src="http://lh5.google.com/duttavr/R0TM2Z8D4JI/AAAAAAAAAaI/xm6CO5WV7x8/javascriptintellisense_thumb%5B2%5D" border="0" height="159" width="244"&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Earlier in some cases when you were typing the an object name and pressing . (period) then intellisense was being displayed in the position of the object which you have typed. Here the code which we type will go back to the dropdown, in this case sometimes programmer may disturb to what he was typing. Now in VS 2008 If you hold the Ctrl key while the intellisense is dropping down then intellisense box will become semi-transparent mode.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;12. Visual Studio 2008 Split View&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh5.google.com/duttavr/R0TM4Z8D4KI/AAAAAAAAAaQ/4LIzIojeIxw/spit%5B5%5D"&gt;&lt;img style="border-width: 0px;" alt="spit" src="http://lh4.google.com/duttavr/R0TM6J8D4LI/AAAAAAAAAaY/W4qV9YmZCbs/spit_thumb%5B1%5D" border="0" height="196" width="244"&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;VS 205 has a feature show both design and source code in single window. but both the windows tiles horizontally. In VS 2008 we can configure this split view feature to vertically, this allows developers to use maximum screen on laptops and wide-screen monitors.&lt;/p&gt;    &lt;p&gt;Here one of the good feature is if you select any HTML or ASP markup text in source window automatically corresponding item will be selected in design window.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;13. HTML JavaScript warnings, not as errors: &lt;/strong&gt;VS 2005 mixes HTML errors and C# and VB.NET errors and shows in one window. Now VS 2008 separates this and shows javascript and HTML errors as warnings. But this is configurable feature.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;14. Debugging .NET Framework Library Source Code:&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;Now in VS 2008 you can debug the source code of .NET Framework Library methods. Lets say If you want to debug the DataBind() method of DataGrid control you can place a debugging point over there and continue with debug the source code of DataBind() method.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;15. In built Silverlight Library&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh3.google.com/duttavr/R0TM758D4MI/AAAAAAAAAag/e1zRUYwZzrg/silverlight%5B3%5D" target="_blank"&gt;&lt;img style="border-width: 0px;" alt="silverlight" src="http://lh6.google.com/duttavr/R0TM9p8D4NI/AAAAAAAAAao/zKFPxl9QZ0c/silverlight_thumb%5B1%5D" border="0" height="204" width="320"&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Earlier we used to install &lt;a title="silverlight SDK" href="http://silverlighttutorials.blogspot.com/" target="_blank" rel="silverlight SDK"&gt;silverlight SDK&lt;/a&gt; separately, Now in VS 2008 it is inbuilt, with this you can create, debug and deploy the silverlight applications.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;16. Visual Studio &lt;a title="Introduction to LINQ" href="http://dotnetslackers.com/articles/csharp/IntroducingLINQ1.aspx" target="_blank" rel="Introduction to LINQ"&gt;LINQ&lt;/a&gt; Designer&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh5.google.com/duttavr/R0TM_Z8D4OI/AAAAAAAAAaw/JNWVlAVSZvQ/LINQ%5B10%5D" target="_blank"&gt;&lt;img style="border-width: 0px;" alt="LINQ" src="http://lh6.google.com/duttavr/R0TNBp8D4PI/AAAAAAAAAa4/1scKG0pkR7o/LINQ_thumb%5B6%5D" border="0" height="266" width="149"&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Already you know in VS 2005 we have inbuilt SQL Server IDE feature. by this you no need to use any other tools like &lt;a title="SQL Server Query Analyzer" href="http://www.sql-server-performance.com/tips/query_analyzer_p1.aspx" target="_blank" rel="SQL Server Query Analyzer"&gt;SQL Server Query Analyzer&lt;/a&gt; and &lt;a title="SQL Server Enterprise Manger" href="http://msdn2.microsoft.com/en-us/library/aa215396%28SQL.80%29.aspx" target="_blank" rel="SQL Server Enterprise Manger"&gt;SQL Server Enterprise Manger&lt;/a&gt;. You have directly database explorer by this you can create connections to your database and you can view the tables and stored procedures in VS IDE itself. But now in VS 2008 it has View Designer window capability with LINQ-to-SQL.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;17. Inbuilt C++ SDK&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;Earlier It was so difficult to download and configure the C++ SDK Libraries and tools for developing windows based applications. Now it is inbuilt with VS 2008 and configurable&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;18. Multilingual User Interface Architecture - MUI&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh4.google.com/duttavr/R0TNDJ8D4QI/AAAAAAAAAbA/o_Xl_k4licM/MUI%5B4%5D"&gt;&lt;img style="border-width: 0px;" alt="MUI" src="http://lh3.google.com/duttavr/R0TNE58D4RI/AAAAAAAAAbI/YoX0kGmnJ98/MUI_thumb%5B2%5D" border="0" height="312" width="368"&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a title="MUI Architecture" href="http://en.wikipedia.org/wiki/Multilingual_User_Interface" target="_blank" rel="MUI Architecture"&gt;MUI&lt;/a&gt; is an architecture contains packages from &lt;a title="Microsoft" href="http://en.wikipedia.org/wiki/Microsoft" target="_blank" rel="Microsoft"&gt;Microsoft&lt;/a&gt; &lt;a title="Windows" href="http://en.wikipedia.org/wiki/Microsoft_Windows" target="_blank" rel="Windows"&gt;Windows&lt;/a&gt; and &lt;a title="Microsoft Office" href="http://en.wikipedia.org/wiki/Microsoft_Office" target="_blank" rel="Microsoft Office"&gt;Microsoft Office&lt;/a&gt; libraries. This supports the user to change the text language display as he wish.&lt;/p&gt;    &lt;p&gt;Visual Studio is now in English, Spanish, French, German, Italian, Chinese Simplified, Chinese Traditional, Japanese, and Korean. Over the next couple of months. Microsoft is reengineering the MUI which supports nine local languages then you can even view Visual studio in other 9 local languages.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;19. Microsoft Popfly Support&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh4.google.com/duttavr/R0TNHJ8D4SI/AAAAAAAAAbQ/ai4QAh8IK3A/popfly%5B2%5D"&gt;&lt;img style="border-width: 0px;" alt="popfly" src="http://lh3.google.com/duttavr/R0TNI58D4TI/AAAAAAAAAbY/QpyVkr6mRhQ/popfly_thumb" border="0" height="155" width="244"&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a title="Microsoft Popfly" href="http://en.wikipedia.org/wiki/Popfly" target="_blank" rel="Microsoft Popfly"&gt;Microsoft Popfly&lt;/a&gt; explorer is an add-on to VS 2008, by this directly you can deploy or hosting the &lt;a title="Silverlight" href="http://silverlighttutorials.blogspot.com/" target="_blank"&gt;Silverlight&lt;/a&gt; applications and &lt;a title="Marshup" href="http://en.wikipedia.org/wiki/Mashup_%28web_application_hybrid%29" target="_blank" rel="Marshup"&gt;Marshup&lt;/a&gt; objects&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;20. Free Tools and Resources&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;People may feel that I am a promoter to Visual Studio 2008 as a salesman, but we get plenty of free resources and free tools with Visual Studio 2008. &lt;/p&gt;    &lt;li&gt;&lt;a title="Visual Studio 2008 Download" href="http://www.google.co.in/url?sa=t&amp;amp;ct=res&amp;amp;cd=1&amp;amp;url=http%3A%2F%2Fmsdn2.microsoft.com%2Fen-us%2Fvstudio%2Fproducts%2Faa700831.aspx&amp;amp;ei=Qo9ER8aWOprOswL1p6HLDQ&amp;amp;usg=AFQjCNEHY96_pm6BWmPShgpUZ8PQqboi6w&amp;amp;sig2=tfbu4UMxXzsMFeXHayyaDA" target="_blank" rel="Visual Studio 2008 Download"&gt;Visual Studio 2008 Trial&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a title="LINQ Samples" href="http://msdn2.microsoft.com/en-us/vcsharp/aa336746.aspx" target="_blank" rel="LINQ Samples"&gt;101 LINQ Samples&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Free .NET 3.5 control libraries with free sample programs, &lt;/li&gt;    &lt;li&gt;You can get plenty of free video training tutorials from &lt;a title="BDLC - Beginner Developer Learning Center" href="http://msdn2.microsoft.com/en-us/beginner/default.aspx" target="_blank" rel="BDLC - Beginner Developer Learning Center"&gt;Microsoft BDLC - Beginner Developer Learning Center&lt;/a&gt;, &lt;/li&gt;    &lt;li&gt;C++ games development library, &lt;/li&gt;    &lt;li&gt;Microsoft has provided lot of e-Books, &lt;/li&gt;    &lt;li&gt;P2P library and &lt;/li&gt;    &lt;li&gt;Microsoft is providing Coding4Fun sample program kit. &lt;/li&gt;    &lt;li&gt;Visual Studio Registration Discounts: If you register the Visual Studio you get Free Control Libraries, Books, Images, and Discounts. &lt;/li&gt;    &lt;li&gt;&lt;a title="Download Visual Studio 2008" href="http://msdn2.microsoft.com/hi-in/vstudio/aa700830.aspx" target="_blank" rel="Download Visual Studio 2008"&gt;&lt;strong&gt;Download Visual Studio 2008&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; free trial&lt;/strong&gt;       &lt;p&gt;&lt;strong&gt;21. We can use for Commercial&lt;/strong&gt;&lt;/p&gt;      &lt;p&gt;Earlier you were spending lot of money to host your .NET applications for commercial use. Now you no need to worry Now Microsoft is providing you to host your application free on Popfly for web pages and also visual studio express projects.&lt;/p&gt;      &lt;p&gt;&lt;/p&gt;     &lt;strong&gt;If you like this article, Please share with others        &lt;br&gt;        &lt;br&gt;Other Interested .NET Readings:         &lt;br&gt;&lt;a href="http://msdotnetsupport.blogspot.com/2007/11/writing-facebook-applications-in-net.html"&gt;Writing/Developing Facebook Applications in .NET using Facebook.NET SDK&lt;/a&gt;         &lt;br&gt;&lt;a href="http://msdotnetsupport.blogspot.com/2008/02/refactor-net-code-visual-studio-and.html"&gt;Refactor .NET code using Visual Studio and Refactor! Pro&lt;/a&gt;         &lt;br&gt;&lt;/strong&gt;&lt;a href="http://msdotnetsupport.blogspot.com/2008/02/dead-end-for-microsoft.html"&gt;Dead-end for Microsoft ?&lt;/a&gt;       &lt;br&gt;&lt;a href="http://msdotnetsupport.blogspot.com/2008/02/net-obfuscation-using-dotfuscator-for.html"&gt;.NET Obfuscation using Dotfuscator for Source Code Protection&lt;/a&gt;       &lt;br&gt;&lt;a href="http://msdotnetsupport.blogspot.com/2008/02/cnet-application-windows-system-tray.html"&gt;Windows System Tray Programming using C# and VB.NET&lt;/a&gt;       &lt;br&gt;&lt;a href="http://msdotnetsupport.blogspot.com/2008/02/download-microsoft-office-2007-system.html"&gt;Microsoft Office 2007 Features and Free Download&lt;/a&gt; &lt;/li&gt; &lt;/span&gt;  



&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4628964222949983";
/* .NET New BELOW Rect */
google_ad_slot = "7261546324";
google_ad_width = 336;
google_ad_height = 280;
//--&gt;
&lt;/script&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;iframe name="google_ads_frame" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-4628964222949983&amp;amp;dt=1211885826293&amp;amp;lmt=1211799604&amp;amp;prev_slotnames=9548178311%2C6638141143%2C6594010637&amp;amp;output=html&amp;amp;slotname=7261546324&amp;amp;correlator=1211885824574&amp;amp;url=http%3A%2F%2Fmsdotnetsupport.blogspot.com%2F2007%2F11%2F22-new-features-of-visual-studio-2008.html&amp;amp;ref=http%3A%2F%2Fmsdotnetsupport.blogspot.com%2F2007%2F04%2Fsending-email-in-aspnet.html&amp;amp;frm=0&amp;amp;cc=100&amp;amp;ga_vid=1300283605748608500.1211880334&amp;amp;ga_sid=1211885825&amp;amp;ga_hid=1882352035&amp;amp;ga_fc=true&amp;amp;flash=9.0.115&amp;amp;u_h=768&amp;amp;u_w=1024&amp;amp;u_ah=740&amp;amp;u_aw=1024&amp;amp;u_cd=32&amp;amp;u_tz=300&amp;amp;u_his=5&amp;amp;u_java=true&amp;amp;u_nplug=14&amp;amp;u_nmime=51" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" frameborder="0" height="280" scrolling="no" width="336"&gt;&lt;/iframe&gt;
 
&lt;div style="clear: both;"&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-801001865282092280?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EgDWFnC4UPljZj4SAdZupfAybfw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EgDWFnC4UPljZj4SAdZupfAybfw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EgDWFnC4UPljZj4SAdZupfAybfw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EgDWFnC4UPljZj4SAdZupfAybfw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/bsF9WHGXRDw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/801001865282092280/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=801001865282092280" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/801001865282092280?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/801001865282092280?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/bsF9WHGXRDw/22-new-features-of-visual-studio-2008.html" title="22 New Features of Visual Studio 2008 for .NET Professionals" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2008/05/22-new-features-of-visual-studio-2008.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEDSXc-cCp7ImA9WxRTFE4.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-6367652207842416372</id><published>2008-05-27T16:33:00.001+05:30</published><updated>2008-09-03T15:57:58.958+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-03T15:57:58.958+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".Net" /><title>Evaluation of .Net Framework</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_yJVxQHE_P38/SDvt5AHD45I/AAAAAAAAACQ/Q5ISmdk8sHo/s1600-h/evolutionof.netframwork.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_yJVxQHE_P38/SDvt5AHD45I/AAAAAAAAACQ/Q5ISmdk8sHo/s400/evolutionof.netframwork.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5205015357894681490" /&gt;&lt;/a&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://msdotnetsupport.blogspot.com/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px;" src="http://msdotnetsupport.blogspot.com/" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-6367652207842416372?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/XVHDr9P3CijYcfIVdar6KYPxOyc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XVHDr9P3CijYcfIVdar6KYPxOyc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/XVHDr9P3CijYcfIVdar6KYPxOyc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XVHDr9P3CijYcfIVdar6KYPxOyc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/rpz9euprqes" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/6367652207842416372/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=6367652207842416372" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/6367652207842416372?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/6367652207842416372?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/rpz9euprqes/evaluation-of-net-framework.html" title="Evaluation of .Net Framework" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp0.blogger.com/_yJVxQHE_P38/SDvt5AHD45I/AAAAAAAAACQ/Q5ISmdk8sHo/s72-c/evolutionof.netframwork.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2008/05/evaluation-of-net-framework.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMHQ3g8fCp7ImA9WxRTFE4.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-6743832750620211728</id><published>2008-05-27T15:51:00.000+05:30</published><updated>2008-09-03T15:53:52.674+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-03T15:53:52.674+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net" /><title>Send EMAIL through ASP.NET</title><content type="html">//SmtpMail.SmtpServer = "127.0.0.1";

SmtpMail.SmtpServer = ConfigurationSettings.AppSettings["SmtpServer"];

System.Web.Mail.MailMessage msgMail = new System.Web.Mail.MailMessage();

msgMail.From = txtFrom.Text.ToString();

msgMail.To = txtTo.Text;

msgMail.Cc = txtC.Text;

msgMail.Bcc = txtBcc.Text;

msgMail.Subject = txtSubject.Text;

msgMail.Body = txtMessage.Text;

msgMail.Attachments.Add(new MailAttachment(txtAttachment.Text));

SmtpMail.Send(msgMail);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-6743832750620211728?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/wxpVxfWqhUEu-cpwGr2uGqUqcUM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wxpVxfWqhUEu-cpwGr2uGqUqcUM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/wxpVxfWqhUEu-cpwGr2uGqUqcUM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wxpVxfWqhUEu-cpwGr2uGqUqcUM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/9htla1kzZRg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/6743832750620211728/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=6743832750620211728" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/6743832750620211728?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/6743832750620211728?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/9htla1kzZRg/send-email-through-aspnet.html" title="Send EMAIL through ASP.NET" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2008/05/send-email-through-aspnet.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUAFRXg6eCp7ImA9WxRTFE4.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-2882646945785939777</id><published>2008-05-24T11:56:00.000+05:30</published><updated>2008-09-03T15:58:34.610+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-03T15:58:34.610+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net" /><title>Display confirmation when closing browser.</title><content type="html">&lt;script language="javascript"&gt;
window.onbeforeunload = function (evt) { 
  
  var message = 'Are youo sure you want to close this window!!!'; 
  if (typeof evt == 'undefined') {//IE 
   evt = window.event; 
  } 
  if (evt) { 
   evt.returnValue = message; 
  } 
  return message; 
} 
&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-2882646945785939777?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9GBoDOsAnHQQq-QKfskypvJ73Bw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9GBoDOsAnHQQq-QKfskypvJ73Bw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9GBoDOsAnHQQq-QKfskypvJ73Bw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9GBoDOsAnHQQq-QKfskypvJ73Bw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/JZsuRrTxlwE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/2882646945785939777/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=2882646945785939777" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/2882646945785939777?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/2882646945785939777?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/JZsuRrTxlwE/display-confirmation-when-closing.html" title="Display confirmation when closing browser." /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2008/05/display-confirmation-when-closing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUAEQ3g_cSp7ImA9WxRTFE4.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-652279734728101930</id><published>2008-05-14T19:02:00.000+05:30</published><updated>2008-09-03T15:58:22.649+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-03T15:58:22.649+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SQL" /><title>Sql Server Transactions - ADO.NET 2.0 - Commit and Rollback - Using Statement - IDisposable</title><content type="html">Here is the basic template for an ADO.NET 2.0 Transaction:

using (SqlConnection connection =
            new SqlConnection(connectionString))
{
    SqlCommand command = connection.CreateCommand();
    SqlTransaction transaction = null;
    
    try
    {
        // BeginTransaction() Requires Open Connection
        connection.Open();
        
        transaction = connection.BeginTransaction();
        
        // Assign Transaction to Command
        command.Transaction = transaction;
        
        // Execute 1st Command
        command.CommandText = "Insert ...";
        command.ExecuteNonQuery();
        
        // Execute 2nd Command
        command.CommandText = "Update...";
        command.ExecuteNonQuery();
        
        transaction.Commit();
    }
    catch
    {
        transaction.Rollback();
        throw;
    }
    finally
    {
        connection.Close();
    }
}

A c# using statement wraps up the connection, because SqlConnection implements IDisposable.  The using statement makes sure that Dispose() gets called on the connection object so it can free up any unmanaged resources.

Before you can begin a transaction, you must first open the connection.  You begin your transaction and then assign any newly created command objects to that transaction and perform queries as necessary.  Commit the transaction.  If an error occurs, Rollback the transaction in a catch statement to void out any changes and then rethrow the error so that the application can deal with it accordingly.  The connection is properly closed in the finally statement, which gets called no matter what, and any unmanaged resources are disposed when the using statement calls Dispose() on the connection.  Pretty simple solution to a fairly advanced topic.

The above template could actually implement a second c# using statement around command, because SqlCommand also implements IDisposable.  I don't know that it is really necessary, however.  More theoretical than probably anything.  I just like to see using statements around anything that implements IDisposable:

using (SqlConnection connection =
            new SqlConnection(connectionString))
{
    using (SqlCommand command =
            connection.CreateCommand())
    {
        SqlTransaction transaction = null;
        
        try
        {
            // BeginTransaction() Requires Open Connection
            connection.Open();
            
            transaction = connection.BeginTransaction();
            
            // Assign Transaction to Command
            command.Transaction = transaction;
            
            // Execute 1st Command
            command.CommandText = "Insert ...";
            command.ExecuteNonQuery();
            
            // Execute 2nd Command
            command.CommandText = "Update...";
            command.ExecuteNonQuery();
            
            transaction.Commit();
        }
        catch
        {
            transaction.Rollback();
            throw;
        }
        finally
        {
            connection.Close();
        }
    }
}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-652279734728101930?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/PyqNfhPwIISwsU-O427L4gjT1Is/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PyqNfhPwIISwsU-O427L4gjT1Is/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/PyqNfhPwIISwsU-O427L4gjT1Is/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PyqNfhPwIISwsU-O427L4gjT1Is/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/f5lkj-CSpik" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/652279734728101930/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=652279734728101930" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/652279734728101930?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/652279734728101930?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/f5lkj-CSpik/sql-server-transactions-adonet-20.html" title="Sql Server Transactions - ADO.NET 2.0 - Commit and Rollback - Using Statement - IDisposable" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2008/05/sql-server-transactions-adonet-20.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQCQ3o6fCp7ImA9WxRTFE4.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-899091639713194480</id><published>2008-04-16T11:58:00.000+05:30</published><updated>2008-09-03T16:09:22.414+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-03T16:09:22.414+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="General" /><title>Various LInks</title><content type="html">http://www.411asp.net
http://www.aspnet.happycodings.com/index.html
http://www.dreamincode.net
http://www.microsoft.com/isapi/redir.dll?prd=windows&amp;sbp=mediaplayer&amp;plcid=&amp;pver=5.2&amp;os=&amp;over=&amp;olcid=&amp;clcid=&amp;ar=Media&amp;sba=Showcase&amp;o1=&amp;o2=&amp;o3=
http://www.codinghorror.com/blog/files/Visual%20Studio%20.NET%202005%20Keyboard%20Shortcuts.htm
http://authors.aspalliance.com/aspxtreme/webforms/index.aspx
http://www.w3schools.com/js/js_examples_3.asp
http://www.dotnetbips.com/articles/e644e9a7-f1ec-41d1-ad19-5cda53b6e9cf.aspx
http://aspnet.devdirect.com/All/PopupComponents_PCAT_2029.aspx
http://aspalliance.com/1306_How_to_Show_MessengerLike_Popups_Using_AJAX.all
http://swik.net/Ajax/del.icio.us%2Ftag%2Fajax/Developing+AJAX+based+popup+notifications/bk2c3
http://www.telerik.com/community/forums/allthreads/b312H-kh.aspx
&lt;DL&gt;
&lt;DT&gt;&lt;A HREF="http://www.microsoft.com/isapi/redir.dll?prd=windows&amp;sbp=mediaplayer&amp;plcid=&amp;pver=5.2&amp;os=&amp;over=&amp;olcid=&amp;clcid=&amp;ar=Media&amp;sba=Showcase&amp;o1=&amp;o2=&amp;o3=" ADD_DATE="988541217" ID="rdf:#$9fR7M2"&gt;Web Events&lt;/A&gt;
    &lt;DT&gt;&lt;A HREF="http://www.codinghorror.com/blog/files/Visual%20Studio%20.NET%202005%20Keyboard%20Shortcuts.htm" ADD_DATE="1193308200" LAST_CHARSET="ISO-8859-1" ID="rdf:#$G8HYm2"&gt;Visual Studio .NET 2005 Keyboard Shortcuts&lt;/A&gt;
    &lt;DT&gt;&lt;A HREF="http://authors.aspalliance.com/aspxtreme/webforms/index.aspx" ADD_DATE="1194441771" LAST_VISIT="1195549902" ICON="data:image/x-icon;base64,AAABAAEAICAQAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAsLCwsLuwsLC7sLuwAACwALCwsLCwsLCwsACwAAAAu7uwsLCwu7CwsLAAu7AAAAsLALCwsACwsLCwALCwAAALCwCwsAC7sLuwu7C7sAAAC7sAsLCwAAAAAAAAAAAAAACwALCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALsAC7AAu7uwALsAAAAAAAC7AAuwC7sLuwC7AAAAAAAAu7u7sAuwALsAuwAAAAAAALu7u7AAAAu7ALsAAAAAAAALsLsAALu7sAC7u7AAAAAAC7C7AAu7AAAAuwC7AAAAAAC7sAALsAC7ALsAuwAAAAAAu7AAC7sLuwC7ALsAAAAAAAsAAAC7u7AAu7uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////w==" LAST_CHARSET="UTF-8" ID="rdf:#$gorNT"&gt;ASPXtreme Web WorkShop: ASP.NET Web Forms&lt;/A&gt;
&lt;DD&gt;A workshop on .NET applications design and development. Step-by-step how-to pages help you learn skills and do specific tasks as you plan, build and manage your Web app, from start to finish.
    &lt;DT&gt;&lt;A HREF="http://www.w3schools.com/js/js_examples_3.asp" ADD_DATE="1195293792" LAST_CHARSET="ISO-8859-1" ID="rdf:#$tb19O"&gt;JavaScript Examples&lt;/A&gt;
&lt;DD&gt;Free HTML XHTML CSS JavaScript DHTML XML DOM XSL XSLT RSS AJAX ASP ADO PHP SQL tutorials, references, examples for web building.
    &lt;DT&gt;&lt;A HREF="http://www.dotnetbips.com/articles/e644e9a7-f1ec-41d1-ad19-5cda53b6e9cf.aspx" ADD_DATE="1195302069" LAST_VISIT="1195456637" LAST_CHARSET="UTF-8" ID="rdf:#$Yb19O"&gt;DotNetBips.com :: Blossom your .NET skills&lt;/A&gt;
    &lt;DT&gt;&lt;A HREF="http://aspnet.devdirect.com/All/PopupComponents_PCAT_2029.aspx" ADD_DATE="1195302568" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAEAGABoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAQAMAAAAAAAAAAAAAAAAAAAAAAAD////////////////////////////////////////////////////////////////////////8/Pz8/Pz8/Pz8/Pz////////////////////////////////////////////n5ePHxsTEwsHFw8LMy8rh4eHt7OvNy8nIxsXIxsXNy8rf4N/y8vL9/f3///////+3l3tcLQhaLQpdMhFSLBBYRTieinljMgxYLAleMhFVLQ9ROyqhnJnr6+r////////gyradWCCkdEnbxLLbwaqndElyTS+lZS6ZYC/Xvqrex7K2h2BTLA6tqqj4+Pf////u4defYS13X03y8vL+/v7m1cauelGscj9lQibq6er////x6N+jaTpgTD3r6+v////48u6rcT9hQCjr6+v////49PCvdkesdEVcLwzb2tn+/v79/Py8jWNZLw/f3t3////9/f26il9aLgvc29v+/v7+/f26iV2mbz5sNgu6trT9/f3////LpoZrNAnNysf////////Jo4JqNQq/vLn9/f3+/v7HoH+rdEWCRhabk436+vr////XvKR/QxKyqqT////////YvaWBRRWXj4rz8vL09PS5jWeiZzWVVyR7a2Dv7u719fXIqI2JRw+hkIX////////l1MSWWCRlUEKNhYOGdmyGRQ6PThijZzNgQSuMhIKKfneBSRqJQgfAr6H////////z6+S3hFiYYTSMWjCZYDSqbTrBmXbBlG2dZDSMWjCVXzOpazi4iF7////////////+/fzz6+Px597x593x59327+r+/v759PH18Ov28Ovy6eH27+r+/v3///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" LAST_CHARSET="UTF-8" ID="rdf:#$Zb19O"&gt;ASP.Net Popup Controls &amp;amp; Messenger Popup Components&lt;/A&gt;
&lt;DD&gt;Enable your applications to display Messenger-style popup windows to notify users of an event or request attention.
    &lt;DT&gt;&lt;A HREF="http://aspalliance.com/1306_How_to_Show_MessengerLike_Popups_Using_AJAX.all" ADD_DATE="1195310082" LAST_VISIT="1196241394" ICON="data:image/x-icon;base64,AAABAAIAEBAAAAAAAABoBQAAJgAAACAgAAAAAAAAqAgAAI4FAAAoAAAAEAAAACAAAAABAAgAAAAAAEABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wBDQ/oAo6OjAAAAjABOTlIAAADsAL2++gB8feUASUqoAHl6dgAZGrwAAQJRAHp8pwCYmfkAICGRALa3xQBeX+IAEhMgADg4bQBeX3gAAADCADY2SQDm5/oAAQIyAEZH3QACA2wAtbXfAI2NrACBgo0AEBCbAM7Q9QABAqoAAQIaAA4PggCNjeoAGBjRAAAB1wClpvAAe3z2AGpr4gCsrbwAfn7WAAAAfQCKi54Au7zUAFVV3QABAl8AdneCAERE6QCVluoAAAAMAAECJgABArYAtbb4AAUFywCHiPIApqf7AH5/gwB6e5AAg4TnAAAA4gDDw/8Aysv7AExN3wACA3QAAADOAAYGFgD6+v8AAgKjAJCR7gDJyvUAAQEgAAICLAABAlkAAADIAIeI6QCKi6QAQkPdAL6//wCio+0AAADcAAECNwAAAIcAAAC9AImK7gB/gJEAs7TEAHl65AC6u9AAAQJoAKCgowAAAHIAAADTAAIDigACAroAf4CKAMzN9QACAswAiYrnAIiJogAEBM4AjpDpAAEBFwAAAAMAAQIdAAECKQAAAN8AAAB6AAIDdwAAAMsAAQLEAAAArAB4eqYAwcH/AH5/5QC3t/cAAAA2AAECAAABAi4AAQFdAAICYQAAANkAAgJyAAAB0AABAiQAAQI1AAECWwAAAOQAiYrsAAEBAgABAdQAAQKJAHt85AB6e+UAaWrjAPv7/wAAAQEAwsL/AAECHwABAisAAAHrAAIDXwCPj+kAAAHhAAAB3QAAANYAAADRAAECzQD6+/8AAAEAAAECHAABAh4AAQIgAAECLAABAi0Ajo/pAAAA7QAAAOsAAADjAAAA4AAAAN4AAADdAAECaQAAANsAAADaAAAA1wAAAM0AAAB+AAAAzAAAAMoAAADJAAAAwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoJ41jpshl4s0m3eaaowAn3x/dphKbUEMZwAAAAAAAJB+goSDolFRkZQaiQAAAABaliCgQl2lkqeToKgAAAAAaCuhS11wXASsbhk4D2xTABYmTEYJQ2AQKjcyATkOAgBbAR8BOjABWQEuCAFHAU8AAwFzAVYFTRwBh4UBhkQ+ABM2FwEdElcBKR5VATyIcgA7B2YBcWQBDRQLgQGGlT4ALAE/ARGPAS0BTmMBYQGKACIKGydlJJx0KGJAI1hQMQCidTNTplGSpnqTFVSqq3oAPSV4dn2jXoQvSBhFXamkAJ1rjV95SWmZUntvgFFRBgAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD//wAAKAAAACAAAABAAAAAAQAIAAAAAACABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AUlTdAAQFigCqq68AAQHpADU1SgDFxvgAb3GYAIeJ6wAAAEMAPD2qACYn1ABPUYMAh4i6AAIDuwAiIiYAj4+QAKWn7gC+vssA4OH6AGxu4gAcHk4AGRuXAAIEIwAAAGwAQEHHAFBSpgBWWMEAExTaAISG0gACA6IAmZu1ALu85QAAANIAz9DmAH1/ogDw8PgAl5jqADU31gADBFgADhB+AHh5iQAQElcAtbW7AKOjwwB6fO4AX2DgABAQJQBDRNkAJSZAAIqLpwCxs/EAAAARACgpUQDR0vYAAgQzAAoMzwCztNAAHBzRAI6QzQAuMOEA2dvuAJCRswACAn0A6On/AAEDrgC7vPEACAo8AAID3gAAAMYAAQGUAB4f3AClprgAi42cAMHC1QBKTNsAnZ/uAC0w1QCPkOoABQYYAMvL/wAFB3IAiYrGAMPE7gDY2fgAc3XkAHByogADBE4AAwVhAPj5/gDl5vMAio3VAMjJ6ABlZ+EAq63vACYnSQADBpkAAQIIAA4O1gACBCsAzM32AJydrgADBD0AgYKoAIuNvgAAAB0A7u//AHh75wA6PNgAioyxALCwugAZGtsAf4HtAAMEzQAICdUAHh/LAJ2dugBWWN4A8/P/AAAAUQADBNYAAQHkAAAApwADBZIAtrbBAAMEhAAAABcAAQN0AAAAmgACA7UAAgPCALa38gC5ubwA5OX6ADI01gDr7fsAAAAmAAMEbgAAANkAAgMNALq74ABwcucAAADMAKKk7QAYGdAAi4zsAG9wnQADBB0AAwRcACUlUQDV1vYAAACfAAIEqQAJCc4AhofnAAEBigD8/P4AAwNSAJmb6wDm6PsA29z4AEBB2QAFBjYAISIqALKyvQADBY4AAgOeAAAABAAAAFUAAADfAHBy4wD19f0Axsj1AAID5AAAALAAAgOVAIyO6QAAALsAlJXqAAICEwACAsgAAwSsAO/w/ADm5/gAAgQ2AAMESgAAAdYAAwTUAAEBkQAvL94AAgMgAAIEOgABAecAAwV+AAMD2gCWl+cA+vv/AN7f+QAAAA4AAgIQAAECGQDNz/YAy834AAAAQAC5u/MAqavuAAAAzwAAAMoAm53sAAMFswCPkbYAKCnVAMnL9QCgoe0AAQILAAIEcgCkpu0AAQHbAAEC0QABAs0AAgPLAAIDxAABAqkAAQKxAAQGkAAEBpQAAgSwAAYHzQA0NdcAXl/eAPT1/QDy8/0A7e38AAECBAAAAAgAAQIVAAICFwC4ufMAnZ7sAAABoQCYmesAAgOSAAECrAADBJkABAaXABob0QAAAAYAAADUAAAAmAABA8IAAwWQAEpM3QD9/f8AAgMcAAEDJACPeru7u7u7u4t6Rd3SYQN+4fX19fX19fX19eKmpqamfACLj4+Pj8+L3Pu6v4wAAAAAAAAAAAAAAAAAAAAAAAAAAIuPj48i+PI4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAi4+Pu/ooAAAAYrmVwuHhA4q6vwAAAAAAAAAAAAAAAACLj7vf/wAA11mZ3LuLi4uLu7uDprkAAAAAAAAAAAAAAIuLQskAAMCZi7vPj4+Pj4+PjyKLcopiAAAAAAAAAAAAqt5kAABY3YuPj4+Pj4+Pj4+Pj4/P2vTsAAAAAAAAAAB6ngAAWNsij4+Pj4+Pj4+Pj4+Pj4+Pi6fXAAAAAAAAAOPqADjdIo+Pj4+Pz/i7u/jPj4+Pj9DQ+BkAAAAAAAAAKAComPiPj4+Pj/jb4IFHe0bPj4+P/HEubBdH+fn5mADtAHhzj9CPj4/P87r3AH+jgK/Qj4/ZAQEBPfi7u4t6AAAwxMuEdrHvTRzJADIOjV0hHnTQj+8BAegCJkPW1PgAAEoBAQEBAQEBIAAyPgEBAQEBypGP7wEBWloBAQE0uwAAfQEBodYBAQHTAG4BASNpWgEBAtDvAQEB1qEBARQdAABvAQGQh6wBAdMAEwEBP5RBAQFW0O8BAayHNAEBoEgAACwBAV8nrAEB0wAqSWYNk8UBAY7Q7wEB522EAQGgSAAAdQEBhqvpAQHTAAAAYC0BAQEBGtDvAQHnbYQBAaBIAAArklUBAZ0BAdMAUGh3AQEBawhAz+8BAedthAEBoEgAAJa+TLHGAQEBPwBXAQEBJTMWarLP7wEB522EAQGgSAAApcW3T0xaAQE8NQQBAbgbNgYLY4/vAQHnbYQBAaBIAMeFAQHZTucBAQnfSwEBU0SIAQEx0O8BAedONAEBoEgAChEBATefAQEBFbwHAQFUXP0B/eXQ0QEB/SaXAQGgcADwEFsBAQEBAWU70OadAQEBAQGQ5I9fAQEBxQEBAc15AMGppCQ6Ue6b9o+Pj0zvrdXOXpqPjy/xs0+in2USDPgAqrWJAOspu/iPj4+P0NCaOY/Qj4+P0NDQ0NCPOY+PuwCL+A84AADMH8P4j4+Pj4+Pj4/P+IuLi/iPj4+Pj4+7AIuPu4NnAACMUoL4i4t5vPiLi9zfR72cp9yPj4+Pj7sAi4+P+N2VAAAAyLrCp7bStvTYOGIAABiwIo+Pj4+PuwCLj4+PIrv7uQAAAAAA17TXAAAAAIxZ3ruPj4+Pj4+7AIuPj4+Pz4vcsFj+YgAAAAAAyDiK47sij4+Pj4+Pj7vcBdra2tra2qrBrnLS4gMDpraDRQV62tra2ouLi4uLegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAAAAAAP////8=" LAST_CHARSET="UTF-8" ID="rdf:#$sc19O"&gt;How to Show Messenger-Like Popups Using AJAX: ASP Alliance&lt;/A&gt;
&lt;DD&gt;In this article Bilal examines how to build a simple database notifier that pops a messenger-like popup on an ASP.NET page whenever a new record is inserted into the database table using ASP.NET 2.0 AJAX 1.0 Extensions.
    &lt;DT&gt;&lt;A HREF="http://swik.net/Ajax/del.icio.us%2Ftag%2Fajax/Developing+AJAX+based+popup+notifications/bk2c3" ADD_DATE="1195310609" LAST_CHARSET="UTF-8" ID="rdf:#$tc19O"&gt;Developing AJAX based popup notifications - SWiK&lt;/A&gt;
&lt;DD&gt;DotNetBips.com :: The .NET Knowledge Base - ASP.NET, C#, VB.NET, Web Services, Windows Forms and many mroe topics in .NET
    &lt;DT&gt;&lt;A HREF="http://www.telerik.com/community/forums/allthreads/b312H-kh.aspx" ADD_DATE="1195311398" LAST_VISIT="1195549912" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8xbAP/MqgD/zK8A/8yvAP/MrwD/zK8A/8yvAP/MrwD/zK8A/8yvAP/MrwD/zK8A/8yvAP/MrwD/zKoA/8xbAP/MkQD/zPcA/8z8AP/M/AD/zPwA/8z8AP/M/AD/zPwA/8z8AP/M/AD/zPwA/8z8AP/M/AD/zPwA/8z3AP/Mkf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBEn0BARO9AQEQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBEn0BARP9AQET/QEBEz0BARBAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAQEBEYEBARP9AQESfQEBEYEBARP9AQETPQEBEEAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAQEBEYEBARP9AQETPQEBEEAAAAABAQERgQEBE/0BARJ8AAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAEBARO9AQET/QEBEQAAAAAAAAAAAAAAAAEBARN9AQET/QEBEQAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAABAQEQwQEBE70BARN9AQEQQAAAAAEBARJ9AQET/QEBEgAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAEBARFBAQET/QEBEz0BARJ9AQET/QEBEnwAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBEYEBARP9AQET/QEBEnwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAEBARGBAQET/QEBE/0BARM9AQEQQAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AQEBEMEBARI8AAAAAAAAAAEBARGBAQET/QEBEz0BARHBAQET/QEBEnwAAAAAAAAAAQEBEYEBARGAAAAAA////AEBARI9AQET/QEBEn0BARFBAQET/QEBEz0BARBAAAAAAQEBEn0BARP9AQESfQEBEYEBARP9AQETPAAAAAP///wAAAAAAQEBEn0BARP9AQET/QEBEz0BARBAAAAAAAAAAAAAAAABAQESfQEBE/0BARP9AQETPQEBEEAAAAAD///8AAAAAAAAAAABAQESfQEBE70BARDAAAAAAAAAAAAAAAAAAAAAAAAAAAEBARJ9AQETPQEBEEAAAAAAAAAAAAAAAAAAAAAD/fwAA/j8AAPwfAAD4DwAA8I8AAPHHAADwjwAA+B8AAPw/AAD8HwAAmBkAAICBAADBwQAA4+MAAA==" LAST_CHARSET="UTF-8" ID="rdf:#$uc19O"&gt;Build ASP.NET, AJAX, and Windows Forms applications with confidence and ease&lt;/A&gt;
&lt;DD&gt;Telerik is a leading vendor of ASP.NET and Windows Forms UI components, Content Management Systems (CMS), Reporting solutions, and add-ons for SharePoint. Telerik&amp;#39;s name is associated not only with reliable and high-performance products, but also with meticulous technical support.
    &lt;DT&gt;&lt;A HREF="http://www.dotnetbips.com/articles/e644e9a7-f1ec-41d1-ad19-5cda53b6e9cf.aspx" ADD_DATE="1195457937" LAST_CHARSET="UTF-8" ID="rdf:#$HCy3C3"&gt;DotNetBips.com :: Blossom your .NET skills&lt;/A&gt;
    &lt;DT&gt;&lt;A HREF="http://in.news.yahoo.com/slideshow/toptenhotelsofindia/slideshow.html#" ADD_DATE="1195546355" LAST_CHARSET="UTF-8" ID="rdf:#$lvEPs2"&gt;Yahoo! India News- Top 10 Hotels in India&lt;/A&gt;
&lt;DD&gt;Use Yahoo! India News to find breaking news, current events and the latest headlines and news photos &amp;amp; videos of top stories, world, business, entertainment, sports, technology, and more.
    &lt;DT&gt;&lt;A HREF="http://www.asp.net/AJAX/AjaxControlToolkit/Samples/Calendar/Calendar.aspx" ADD_DATE="1195549976" LAST_VISIT="1197543894" LAST_CHARSET="UTF-8" ID="rdf:#$U.ZHB2"&gt;Calendar Sample&lt;/A&gt;
    &lt;DT&gt;&lt;A HREF="http://www.evolt.org/article/How_to_make_a_simple_CSS_dropdown_menu/17/52030/" ADD_DATE="1195556853" LAST_CHARSET="UTF-8" ID="rdf:#$8+ZHB2"&gt;How to make a simple CSS dropdown menu | evolt.org&lt;/A&gt;
&lt;DD&gt;A world community for web developers, evolt.org promotes the mutual free exchange of ideas, skills and experiences.
    &lt;DT&gt;&lt;A HREF="http://www.opencube.com/" ADD_DATE="1195570182" LAST_CHARSET="UTF-8" ID="rdf:#$50.HB2"&gt;Online Menu Design - Visual CSS QuickMenu&lt;/A&gt;
    &lt;DT&gt;&lt;A HREF="http://msdotnetsupport.blogspot.com/2007/11/net-interview-questions.html" ADD_DATE="1195646168" LAST_CHARSET="UTF-8" ID="rdf:#$gYJS42"&gt;.NET Interview Questions at Microsoft .NET Support&lt;/A&gt;
    &lt;DT&gt;&lt;A HREF="http://walkin-interview.com/aspnet-interview-questions/what%e2%80%99s-a-bubbled-event/" ADD_DATE="1195646272" LAST_CHARSET="UTF-8" ID="rdf:#$hYJS42"&gt;Whatâ€™s a bubbled event? | walkin-interview.com&lt;/A&gt;
&lt;DD&gt;When you have a complex control, like DataGrid, writing an event processing routine for each object (cell, button, row, etc.) is quite tedious. The controls can
    &lt;DT&gt;&lt;A HREF="http://www.alibaba.com/company/11095181.html" ADD_DATE="1195721710" LAST_CHARSET="UTF-8" ID="rdf:#$igsAk1"&gt;Kalptaru Infosoft Pvt Ltd - India - Other&lt;/A&gt;
&lt;DD&gt;Kalptaru Infosoft Pvt Ltd exports to North America, South America, Eastern Europe, Southeast Asia, Africa, Oceania, Mid East, Eastern Asia, Western Europe, with products under  category and more.
    &lt;DT&gt;&lt;A HREF="http://www.naukri2000.com/careers/it_ahmedabad.php3" ADD_DATE="1195721851" LAST_CHARSET="UTF-8" ID="rdf:#$jgsAk1"&gt;Ahmedabad Software Companies - List of IT Companies in Ahmedabad, Gandhinagar&lt;/A&gt;
&lt;DD&gt;List of Software &amp;amp; IT Companies in Ahmedabad/Gandhinagar, Gujarat, India
    &lt;DT&gt;&lt;A HREF="http://www.asp.net/community/" ADD_DATE="1195906035" LAST_CHARSET="UTF-8" ID="rdf:#$1R.lG1"&gt;Community : The Official Microsoft ASP.NET Site&lt;/A&gt;
&lt;DD&gt;Microsoft portal site for the ASP.NET development community. Download Visual Web Developer, post to the forums, read ASP.net blogs and learn about ASP.net.
    &lt;DT&gt;&lt;A HREF="http://www.blogtoplist.com/rss/popup.html" ADD_DATE="1196320593" LAST_VISIT="1198316165" LAST_CHARSET="windows-1252" ID="rdf:#$Yc.782"&gt;Popup - Blog Toplist&lt;/A&gt;
&lt;DD&gt;Articles about Popup by blogs
    &lt;DT&gt;&lt;A HREF="http://www.javascriptkit.com/javatutors/redev2.shtml" ADD_DATE="1196743153" LAST_VISIT="1196744121" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AFfbVwCyq7MAXFdbAAprCgCX+JcALactAC0xLQB9o34AzP/MANvP2gAwYy8Ad3B3ALXZtQBdrl0AdeN2AJDOkQCam5kAIYUhAEG+QQA8gjwAr/+vAApJCgDEwMMAe8R8AOnm6QBFZEUAQT1AAGaBZgBAnkAAiYuJAH/7fgCK5ooAGlUaAKLMogBn8mgAZmhmAFK/UwC78bsAN0w3AKntqQAXdBYApKikAPTy9ABJzUkAMIowAI6jjQBLSEsAzs7NAHyRfAC3u7gAJJwjADyvOwBMcUwAda51AGDkYQBaZ1sASbJIAJbclQDf3uAAe357ADF7MQA8XDwANjs2AGx0bAANVwwAWshbAKqdqgCotKkAQnhDAHBmbwByu3MAP5E/AIZ/hQCg7qAArdysAE1gTQBks2UALj4uAGhdZwCvuq8AvLK7AD5QPgA0pTQAbvBvAPr4+gA3VjYAnqOeALXutACAmoAA7u3tALzCvACT8ZIAK54rACKTIwA6QjoAZ+loAA9PDwAcfx0AT81PAH6FfgBKxUoAgMmAANjW2ADTz9MAlpWWALS2swCfnJ8AM14zAKyvrAB2fnYAa4FrACiYKQA9tT4AncqeAF9lXwC+vL4AV2JYAFrgWgCDn4MA5ePlAN7Y3gAvODAAwMXAAEReRAA3qjYAF3oXAG16bACvqK8Aho6FAH15fQA9VTwAp6+nACiiKQBLtUwA/vr+APHs8QAchBwAI6EjACidJwC0sbQAYelhAOPf4wAuoS0AtrS3AIyNjAC6troAsa+xAPHx8QDi4+IA3NPbAL/BvwC0u7UAsryxADI5MgCbnpsAWOBXAIN/gwD9/f0A8+/0AJ6gnQD4+fgAKqQqALGpsQBl6GYAa3hrAPz7/AAYeBgAJ5smACqfKQAsoCwAs6+zAOfj5gAvNi8A39zfAM3MzQDCwMIASsdJAEyzTACZnZkA//3/APr6+gCyrbMA/v7+APPz8wDw7fAA6OXoAOPi4wAzpDMA/vv9APn5+QAuOC8AF3kYAEmzSQB2rnYA/v/+AP79/gD9/v0A/fz9AOjm6ADm4+YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuAG6jxrFAQEBAQG1rY+7Abh8YHtABJO2AcQ8Ja6bwG/FWn9jKhcIacQsPULBqAUdiHiGB4yjYp6/AyI0qYs+GL4vHrO9q4p2C31fXqoTZVafllhwOn5xTYMuclSQNpcBuAGJksKyNVNGLWYUFaTHAbgBAbQmd2QoD50Ch4KgAQG4AQGhQyQ4hE6OpW1EAQEBuAG4azdnGYBIjlVJMMkBAbgBAbxKUEeBMhBhIAwNpwG4AQEzGz9XQVIJBl0hT7cBuAG4nBFLOzl6bHMpFsMcW7gBARIjJ0x0yK8fDlkKpmq4AQExhZpFKwEBaG5RXJmYAbi4lbGNkXnGuKKwrJR1uQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" LAST_CHARSET="ISO-8859-1" ID="rdf:#$tgkCj"&gt;JavaScript Regular Expressions patterns&lt;/A&gt;
&lt;DD&gt;Click here to learn about regular expressions in JavaScript
    &lt;DT&gt;&lt;A HREF="http://www.dynamicdrive.com/dynamicindex11/abox.htm" ADD_DATE="1196936663" LAST_VISIT="1197524597" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAD///8A////APn8+g/f8+lBxOnWlLDkypSm4cSUpuHElKbhxJSm4cSUsOTJlMvs3IHl9e0t/P38D////wD///8A////AODz6jV70KXWVsWN/VHDif1SxIr9U8WL/VHDif1SxIr9UsSK/VLEiv1SxIr9WsaQ/Y3Ys9bl9e01////APD59B9ny5noUsWK/VHEif1KuoD9Papv/TqlbP06pWz9O6Vt/TulbP08qW79S7uA/VPFi/1SxIr9ZsqY6On28CvU8OI8UsSK/VLDif0jiU79BmYs/QRkKf0EZCn9BGQp/QRkKf0EZCn9BGMp/QdnLf0jiU/9TsCF/VHDif2v48qc1PDiPFLEiv05pmz9BGQp/QRmLP0geUXwRo9j6kaPZepGj2XqQYxg6iJ5ReoIaC/9BGQp/SmRVf1SxIr9lNu3nNTw4jxSxYr9M5xg/QRkKv0mfEr1+fz6HP///wD///8A////AP///wD///8AbqeEsQRlK/0cf0T9U8WL/ZPZtZzU8OI8UsSK/TOcYP0EZCr9Popc8P///wD///8A////AP///wD///8A////AICylJEEZSv9HH9E/VPFi/2T2bWc1PDiPFLFiv0znGD9BGQp/T6JXPD///8A////AP///wD///8A////AP///wCAspSRBGUr/Rt/RP1Txov9k9m1nNTw4jxSxIr9M5xg/QRkKv0kekf2+Pr5H////wD///8A////AP///wD///8AgLKUkQRlK/0bf0T9U8aL/ZPZtZzf8+k8WMaO/UGtcv0FZCn9BGYs/RdzPPg7iFn3PYha9zyIWvc8iFr3PIha9x54QvoEZSv9HH9F/VPFi/2T2bWc/P38D5Xat8JSxIr9KJFW/QZmK/0EYyf9BGMp/QRkKf0EZCn9BGQp/QRkKf0EZCr9BGUr/Rx/RP1TxYv9k9m1nP///wD4/PoTteXOnnHOn+NYwov4SLB4/T6mbP08o2n9PKNp/Tyjaf09pGr9IYZL/QRlK/0bf0T9U8aL/ZPZtZz///8A////AP///wD///8A8fn1P+L1603i9exN4vXsTeP27U3j9u1N4/XsTXOti7IEZSv9G39F/VPGi/2T2bWc////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wCAspSRBGUr/Rt/RP1Txov9k9m1nP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AfrKTkQRlK/0cf0T9U8WL/ZPZtZz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AOTv6BnQ4tct1efcLd/z6S3p9vAc8A8AAMADAACAAQAAgAAAAIAAAACH4AAAh+AAAIfgAACH4AAAgAAAAIAAAADAAAAA/+AAAP/gAAD/4AAA//8AAA==" LAST_CHARSET="ISO-8859-1" ID="rdf:#$B1v+r"&gt;Dynamic Drive DHTML Scripts- Popup box&lt;/A&gt;
    &lt;DT&gt;&lt;A HREF="http://www.zoltrix.com/SUPPORT_HTML/modem/USEMODEM.HTM" ADD_DATE="1197291791" LAST_CHARSET="ISO-8859-1" ID="rdf:#$DqSRu2"&gt;Controlling your Modem with AT Commands&lt;/A&gt;
    &lt;DT&gt;&lt;A HREF="http://www.google.com/webhp?complete=1" ADD_DATE="1197539304" LAST_VISIT="1198501679" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8A//3/AP39/wD6/f8A+P3/AP/8/wD9/P8A+vz/AP/7/wD/+v8A/vr/APz6/wD4+v8A+/n/APP5/wD/+P8A+vj/AO/4/wDm+P8A2fj/AP/3/wD/9v8A9vb/AP/1/wD69f8A9PT/AO30/wD/8/8A//L/APnx/wD28P8A///+APj//gD2//4A9P/+AOP//gD//f4A6f/9AP///AD2//wA8//8APf9/AD///sA/v/7AOD/+wD/+vsA9/X7APr/+gDv/voA///5AP/9+QD/+/kA+e35AP//+ADm//gA4f/4AP/9+AD0+/gA///3APv/9wDz//cA8f/3AO3/9wD/8fcA//32AP369gDr+vYA8f/1AOv/9QD/+/UA///0APP/9ADq//QA///zAP/18wD///IA/fzyAP//8QD///AA9//wAPjw8AD//+8A8//vAP//7gD9/+4A9v/uAP/u7gD//+0A9v/tAP7/6wD/+eoA///pAP//6AD2/+gA//nnAP/45wD38eYA/fblAP/25AD29uQA7N/hAPzm4AD/690AEhjdAAAa3AAaJdsA//LXAC8g1gANH9YA+dnTAP/n0gDh5dIADyjSABkk0gAdH9EABxDRAP/l0AAAJs4AGRTOAPPczQAAKs0AIi7MAA4UywD56soA8tPKANTSygD/18kA6NLHAAAjxwDj28QA/s7CAP/1wQDw3r8A/9e8APrSrwDCtqoAzamjANmPiQDQj4YA35mBAOmefgDHj3wA1qR6AO+sbwDpmm8A2IVlAKmEYgCvaFoAvHNXAEq2VgA5s1UAPbhQAFWtTwBStU0ARbNNAEGxTQA7tEwAObZIAEq5RwDKdEYAULhDANtuQgBEtTwA1ls3ALhgMQCxNzEA2FsvAEC3LQB0MCkAiyYoANZTJwDLWyYAtjMlALE6JACZNSMAuW4iANlgIgDoWCEAylwgAMUuIAD3Vh8A52gdALRCHQCxWhwAsEkcALU4HACMOBwA0V4bAMYyGgCPJRoA218ZAJM7FwC/PxYA0msVAM9jFQD2XBUAqioVAIAfFQDhYRQAujMTAMUxEwCgLBMAnxIPAMsqDgCkFgsA6GMHALE2BAC9JQAAliIAAFYTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AsbGxsbGxsbGxsbGxsbGxd7IrMg8PDw8PDw8PUBQeJXjQYE9PcKPM2NfP2sWhcg+BzTE7dLjbmG03YWaV4JYye8MPbsLZlEouKRRCg9SXMoW/U53enGRAFzCRtNO7mTiAyliw30gRTg9VbJCKfYs0j9VmuscfLTFbIy8SOhA0Inq5Y77GNBMYIxQUJzM2Vxx2wEmfyCYWMRldXCg5MU0aicRUms58SUVeRkwjPBRSNIfBMkSgvWkyPxVHFIaMSx1/0S9nkq7WdWo1a43Jt2UqgtJERGJ5m6K8y92znpNWIYS1UQ89Mmg5cXNaX0EkGyyI3KSsp6mvpaqosaatq7axsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" LAST_CHARSET="UTF-8" ID="rdf:#$gpX5y1"&gt;Google&lt;/A&gt;
    &lt;DT&gt;&lt;A HREF="http://www.multicians.org/thvv/proverbs.html" ADD_DATE="1197550451" LAST_CHARSET="ISO-8859-1" ID="rdf:#$4qX5y1"&gt;Software Engineering Proverbs&lt;/A&gt;
&lt;DD&gt;Stories about software engineering practices and lessons: Collected graffiti.
    &lt;DT&gt;&lt;A HREF="http://www.aspnextgen.com/QuickStartv20/aspnet/doc/webparts/displaymodes.aspx" ADD_DATE="1197725094" LAST_VISIT="1197725348" LAST_CHARSET="UTF-8" ID="rdf:#$B6VqW2"&gt;webpart 1&lt;/A&gt;
    &lt;DT&gt;&lt;A HREF="http://samples.gotdotnet.com/quickstart/aspplus/doc/businessobjs.aspx" ADD_DATE="1197984058" LAST_VISIT="1198037768" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAEACABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAA2NP1AGZifABFQVcAAADeAAAAoQAAAMIAAABVAAAA8wAAAJ8AAACYAAAAzAAAAK4AjYmgAAAA7QAAAM8AAACHAAAAbgAAAFwAAADLAAAA4wAAAI0AAAC5AAAAdwAAANMAAAC2AAAAYAAAAKIAAAD/AAAALQAAAJEAAAA+AAAAcAAAAIEAAADyAAAAfgAAAEEAAABAAAAAawAAALQAAACIAAAAVwAAAOwAAABqAAAAfwAAAOIAAAC3AAAAhgAAALMA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPz8/PwAAPwAAAD8/Pz8/Pz8/PwADAAADAwAAAAA/Pz8/PwACAgMDAgEAAgMAAD8/Pz8AAgEAAAABAAABAgA/Pz8/AAEAHyUAAQAdAAEAPz8/PwABAAcpAA0AJAANAAA/PwAADQARIAABAAcAAQACAD8AAAEAECgvABcrEgAAAQAAAwAACgkFCQoVIxESAAEAAAIAGwwZFhkMBR4sJgcAAAABADAGCw8LBicFFRcaAD8AAAAGGAQtBBgGDAohAD8/Pz8AEwQOCCoECy4JEAA/Pz8/PwAUCBwiFA8WBQA/Pz8/Pz8/AAAIDgQTAAA/Pz8/Pz8/Pz8/AAAAAD8/Pz8/P/I/AADgBwAAwAMAAMADAADAAwAAwAEAAIAAAACAAAAAAAAAAAAAAAAAAQAAAAMAAMADAADgBwAA8A8AAPw/AAA=" LAST_CHARSET="UTF-8" ID="rdf:#$vK+7W1"&gt;Microsoft ASP.NET QuickStarts Tutorial&lt;/A&gt;
    &lt;DT&gt;&lt;A HREF="http://www.beansoftware.com/NET-Tutorials/Net-Assemblies.aspx" ADD_DATE="1198072426" LAST_CHARSET="UTF-8" ID="rdf:#$OKpth3"&gt;.NET Framework Assemblies&lt;/A&gt;
&lt;DD&gt;Explains what are the .NET Framework assemblies and what are their benefits to make your programming tasks easier
    &lt;DT&gt;&lt;A HREF="http://www.topsurveys.com/" ADD_DATE="1198228837" LAST_CHARSET="UTF-8" ID="rdf:#$V1vyl"&gt;TopSurveys&lt;/A&gt;
&lt;DD&gt;Make money from taking online surveys! You get paid for each survey, the longer the survey the more you get paid! 
    &lt;DT&gt;&lt;A HREF="http://www.youtube.com/watch?v=ycYxTKNzHa0" ADD_DATE="1198318971" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAABMLAAATCwAAAAAAAAAAAAD//////////4OD//9paf//bm7//2Fh//9ZWf//Wlr//1pa//9WVv//ZGT//3Bw//9jY///goL//////////////////11d//8sLP//QUH//ygo//84OP//RET//y4u//8xMf//UVH//y4u//8PD///ZWX//x0d//9aWv////////////88PP//Cgr///////8zM///1NT///////+lpf//ubn///////+urv//fHz////////g4P//Fhb/////////////MzP//woK////////NDT//8vL//9ycv//paX//7Cw//9jY///s7P//8nJ//9XV///eXn//yIi/////////////zMz//8LC///+/v//zMz///Gxv//hYX//6Ki//+srP//W1v//6ys//+3t///2tr//93d//8PD/////////////80NP//AgL///b2//8nJ///5ub//56e//+5uf//oaH//+/v//+5uf//oKD//+Li///f3///AgL/////////////MzP//wUF////////Skr//0pK//9NTf//NTX//97e//+ysv//Nzf//xIS//+mpv//Kyv//z09/////////////xkZ///Y2P////////////8nJ///EBD//wAA///y8v//Ly///wAA//8mJv//Hh7//6mp//92dv////////////+vr///Jib//xMS//8eIP//MzP//zY2//84OP//Hh///y4u//9XV///hoj//8LC///R0f//qqr/////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/8zMzP/u7u7/IiIi/wAAAP8iIiL//////zMzM/8AAAD/AAAA/////////////////////////////////wAAAP/MzMz//////yIiIv/u7u7/ERER/7u7u/8AAAD/iIiI/xEREf///////////////////////////+7u7v8AAAD/zMzM//////8iIiL/7u7u/xEREf+7u7v/AAAA/8zMzP8RERH///////////////////////////93d3f/AAAA/1VVVf/u7u7/IiIi/wAAAP8iIiL//////wAAAP/MzMz/ERER///////////////////////d3d3/AAAA/4iIiP8AAAD/3d3d/////////////////////////////////////////////////////////////////wAAAP//////AAAA////////////////////////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" LAST_CHARSET="UTF-8" ID="rdf:#$FJ8Eb1"&gt;YouTube - Learn VB .NET - Custom Shaped Forms - VBdotNET.m-sn.com&lt;/A&gt;
&lt;DD&gt;http://vbdotnet.m-sn.com for 100s more video guides to vb.net
    &lt;DT&gt;&lt;A HREF="http://msdn2.microsoft.com/en-us/library/879kf95c.aspx" ADD_DATE="1198505463" LAST_CHARSET="UTF-8" ID="rdf:#$H7.wF3"&gt;Walkthrough: Creating a Web Site with Membership and User Login&lt;/A&gt;
    &lt;DT&gt;&lt;A HREF="http://www.buytemplates.net/promotion-templates/asp.net-web-templates.php" ADD_DATE="1198561062" LAST_VISIT="1198561393" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAJwAAAFAAAABqAAAAbgAAAGMAAABRAAAAPgAAAC0AAAAgAAAAFQAAAAwAAAAEAAAAAAAAAAAAAAAAA0GTMj6P4cXL0tv3ZZrb/yx0zOsDSqPPAi5qrQEMGocAAABzAAAAZAAAAFEAAAA8AAAAIAAAAAAAAAAAAAAAAQhl26o/nPj05ubm/9TU1P/ExMT/sLjA/4Kmz/9hltf/OHnJ7AJMpc8CLmqtAQ0cgAAAAEwAAAAAAAAAAAAAAAUPcOfUQpHh2fX19f/x8fH/8fHx//Pz8//k5OT/2tra/97e3v+u2v//drr+/wNbyOMAAABgAAAAAAAAAAADN30dF33z+EqW4t13tvf/SaH6/3q49//z8/P/7+/v/+/v7//y8vL/otX//7ng//8DXMrjAAAAYQAAAAAAAAABBFbDcSiK8ehwpdvY4ODg/9XV1f+5ytr/8/Pz/+/v7//v7+//7+/v/6LV//+54P//A1/N5AAAAGcAAAAAAAAACBNq2bole9LEgL38+9ra2v/V1dX/1dXV//Pz8//v7+//7+/v//Dw8P+i1f//ueD//zWA2OwAAABvAAAAAQM9izUjg/H0J260t6zV/v7V1dX/1dXV/9XV1f/z8/P/7+/v/+/v7//z8/P/qNj//6LV//9BkvT/AAAAcwAAAAkPZNGvMJP28jFrp67B2/X/1dXV/9XV1f/Y2Nj/8PDw/+/v7//v7+//8/Pz/9zc3P/d4+n/QZL0/wAAAHMDQpUxK4fw8ieE4Nk/g8i92ePt/9XV1f/V1dX/39/f/+/v7//v7+//7+/v/+jo6P/MzMz/zMzM/0GS9P8AAABzE3HnvjeX+e0bWZaUZajt5M/n//+ez///ebn6/6XO9v/K4vr/9/f3//Pz8//k5OT/zMzM/8zMzP9BkvT/AAAAcwVk5IIRcereJVWFa5bJ/fzT09P/ycnJ/9jY2P+xyuL/qdL6/2+2//9frv//W6v8/46+7//W3ub/QZL0/wAAAHMAAAAABWTkghNy6uDN5v//ycnJ/+Li4v/s7Oz/4uLi//Dw8P///////////+/3//+ez///L5b//wNy9P8AAABzAAAAAAAAAAAOa+eiNYjv4l6i9f+XxPn/zeb//+v1//////////////////////////////////9BkvT/AAAAbwAAAAAAAAAAAAAAAAAAAAAFY+AQBWLfQgVh3XUbdee1QI7v4m6s9v+nzvv/4fD/////////////YaL0/wAAAE8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFY+EhBWHeUw5q4pVAju/ikr/4/4ey7NYAAAAZ4AAAAOAAAADAAAAAwAAAAMAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAMAAAADwAAAA/4AAAA==" LAST_CHARSET="ISO-8859-1" ID="rdf:#$lbE6G2"&gt;asp.net web templates&lt;/A&gt;
&lt;DD&gt;This site offers hundreds of website templates, free web templates, web templates, and free website templates for individuals, professionals and small business owners
    &lt;DT&gt;&lt;A HREF="http://www.warezreleases.com/members/signup" ADD_DATE="1198562864" LAST_CHARSET="UTF-8" ID="rdf:#$olVJg3"&gt;Warez Releases - Full Warez Downloads Updated Every 5 Minutes!&lt;/A&gt;
    &lt;DT&gt;&lt;A HREF="http://rs71.rapidshare.com/files/36755886/asne_avx.zip" ADD_DATE="1198564905" LAST_CHARSET="ISO-8859-1" ID="rdf:#$1J6xt1"&gt;RapidShare: 1-Click Webhosting&lt;/A&gt;
&lt;/DL&gt;&lt;p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-899091639713194480?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/yhCfkZVskkVGECeT9XCs6jOOnbk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yhCfkZVskkVGECeT9XCs6jOOnbk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/yhCfkZVskkVGECeT9XCs6jOOnbk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yhCfkZVskkVGECeT9XCs6jOOnbk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/wjALeauQsd4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/899091639713194480/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=899091639713194480" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/899091639713194480?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/899091639713194480?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/wjALeauQsd4/various-links.html" title="Various LInks" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2008/04/various-links.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMHQ3g8fCp7ImA9WxRTFE4.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-4268920682867135575</id><published>2008-04-16T11:57:00.000+05:30</published><updated>2008-09-03T15:53:52.674+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-03T15:53:52.674+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net" /><title>Difference b/w asp.net 2.0 and 3.5</title><content type="html">&lt;span style="font-weight: bold;"&gt;asp.net 1.1&lt;/span&gt;


&lt;span style="font-weight: bold;"&gt;asp.net 2.0 (http://www.geekinterview.com/question_details/33965)&lt;/span&gt;
• GridView control and the declarative data binding controls (the SqlDataSource, ObjectDataSource, and so on).
• new data-bound UI controls such as GridView, DetailsView, FormView, TreeView, and Menu
• Master Pages, Themes, Skins
• Web Parts controls
• Navigation Controls like Site Maps, Tree Views, Dynamic HTML Menus
• Standard controls for security (Login, LoginStatus, LoginName, LoginView,CreateUser Wizard,PasswordRecovery)
• Roles and Personalization
• PreCompilation
• Sharing code in the application

&lt;span style="font-weight: bold;"&gt;asp.net 3.0&lt;/span&gt;
• Inbuilt ajax support
• LINQ (Language-Integrated Query)
• A new ListView data control that displays data and that provides a highly customizable UI.
• The DataPager control
• A new LinqDataSource control that exposes Language-Integrated Query (LINQ) through the ASP.NET data source control architecture.
• A new merge tool (Aspnet_merge.exe) that merges precompiled assemblies to support flexible deployment and release management.
• Multi-targeting Web Applications
• JavaScript debugging and IntelliSense features&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-4268920682867135575?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5ieA61P3pxFuO20DVz_p2SxeqLo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5ieA61P3pxFuO20DVz_p2SxeqLo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5ieA61P3pxFuO20DVz_p2SxeqLo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5ieA61P3pxFuO20DVz_p2SxeqLo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/5SijerftT_s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/4268920682867135575/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=4268920682867135575" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/4268920682867135575?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/4268920682867135575?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/5SijerftT_s/difference-bw-aspnet-20-and-35.html" title="Difference b/w asp.net 2.0 and 3.5" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2008/04/difference-bw-aspnet-20-and-35.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMHQ3g8fSp7ImA9WxRTFE4.&quot;"><id>tag:blogger.com,1999:blog-5898931453375291920.post-3973090191861212085</id><published>2008-04-16T11:52:00.001+05:30</published><updated>2008-09-03T15:53:52.675+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-03T15:53:52.675+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net" /><title>Read a file</title><content type="html">Read a file

&lt;%@ Import Namespace="System.IO" %&gt;
&lt;script language="vb" runat="server"&gt;
sub Page_Load(sender as Object, e as EventArgs)
'Open the sampletext.txt file . Note this is in the same directory as the script
Dim testfile as String = Server.MapPath("sampletext.txt")
'Create a streamreader class
Dim objStreamReader as StreamReader
'open the file
objStreamReader = File.OpenText(testfile)
'Read the file storing it in the readfile string
Dim readfile as String = objStreamReader.ReadToEnd()
'Place the string into a web control
lblTextFile.Text = readfile 
'close the StreamReader class
objStreamReader.Close()
end sub
&lt;/script&gt; 
&lt;asp:label runat="server" id="lblTextFile" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898931453375291920-3973090191861212085?l=rkdotnetcode.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ZGdHhNjT0BleIHagbCiJyqwKjfo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZGdHhNjT0BleIHagbCiJyqwKjfo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ZGdHhNjT0BleIHagbCiJyqwKjfo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZGdHhNjT0BleIHagbCiJyqwKjfo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HelperFornetDeveloper/~4/dHHCmV0xOUs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://rkdotnetcode.blogspot.com/feeds/3973090191861212085/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5898931453375291920&amp;postID=3973090191861212085" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/3973090191861212085?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5898931453375291920/posts/default/3973090191861212085?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HelperFornetDeveloper/~3/dHHCmV0xOUs/read-file.html" title="Read a file" /><author><name>.Net Developer</name><uri>http://www.blogger.com/profile/11381414158643425536</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://rkdotnetcode.blogspot.com/2008/04/read-file.html</feedburner:origLink></entry></feed>

