<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DevIT Blog</title>
	<atom:link href="http://articles.devitpk.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://articles.devitpk.com</link>
	<description>A Developers Blog</description>
	<lastBuildDate>Wed, 02 Sep 2009 18:37:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to drag forms by using the client area with Visual C++ 2005 or with Visual C++ .NET</title>
		<link>http://articles.devitpk.com/?p=33</link>
		<comments>http://articles.devitpk.com/?p=33#comments</comments>
		<pubDate>Wed, 02 Sep 2009 18:37:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Sample Codes]]></category>

		<guid isPermaLink="false">http://articles.devitpk.com/?p=33</guid>
		<description><![CDATA[This step-by-step article describes how to permit a user to 		  move a form by dragging the client area of the form. This article describes how 		  to override the WndProc method of the form to enable the client area 		  dragging.
Requirements
// The 			 following list outlines the recommended hardware, software, network [...]]]></description>
			<content:encoded><![CDATA[<p>This step-by-step article describes how to permit a user to 		  move a form by dragging the client area of the form. This article describes how 		  to override the <strong>WndProc</strong> method of the form to enable the client area 		  dragging.</p>
<h3 id="tocHeadRef">Requirements</h3>
<p><script type="text/javascript">// <![CDATA[
                loadTOCNode(2, 'summary');
// ]]&gt;</script>The 			 following list outlines the recommended hardware, software, network 			 infrastructure, and service packs that you need:</p>
<ul>
<li> Microsoft Visual Studio 2005 or Microsoft Visual Studio 				.NET 2003</li>
<li>Microsoft .NET Framework 1.1 or later</li>
</ul>
<p>This 			 article assumes that you are familiar with the following topics:</p>
<ul>
<li> Microsoft Visual C++ 2005 or Microsoft Visual C++ .NET 				2003</li>
</ul>
<h3 id="tocHeadRef">Introduction</h3>
<p><script type="text/javascript">// <![CDATA[
                loadTOCNode(2, 'summary');
// ]]&gt;</script>When you design an application, you may want to permit the user to 		  move the form of an application by dragging the client area of the form. For 		  example, you may want to do this if the form does not have a title bar or if 		  the form has an irregular (that is, non-rectangular) shape.</p>
<p>An example 		  of an application that provides this type of functionality is the Microsoft 		  Windows Media Player. The Media Player permits you to select a &#8220;skin&#8221; to 		  provide a customized look for the player. When you select a skin, the title bar 		  is hidden, and you can move the window by dragging the form 		  itself.</p>
<p>When Microsoft Windows handles mouse activity on a form, 		  Windows sends the <strong>WM_NCHITTEST</strong> message to the form to determine where mouse events occur. For 		  example, if you click the title bar of a form, the form returns an <strong>HTCAPTION</strong> value that indicates that the mouse event occurs on the title 		  bar. If you click the client area of the form, the form returns an <strong>HTCLIENT</strong> value that indicates that the mouse event occurs in the client 		  area of the form.</p>
<p>When you override the <strong>WndProc</strong> method of the form, you can intercept the <strong>WM_NCHITTEST</strong> message and determine where mouse activity on the form occurs. If 		  the activity occurs in the client area, you can return an <strong>HTCAPTION</strong> value that causes Windows to handle the activity as if the 		  activity actually occurs in the title bar.</p>
<p>The following sample code 		  overrides the <strong>WndProc</strong> method of the form. The code intercepts the <strong>WM_NCHITTEST</strong> message and determines whether the mouse activity occurs in the 		  client area of the form. If the mouse activity occurs in the client area, the 		  procedure returns an <strong>HTCAPTION</strong> value that causes Windows to handle the event as if it occurs in 		  the title bar.</p>
<p><strong>Note</strong> If you override the <strong>WndProc</strong> method of the form in this manner, the mouse events for the form 		  are also overridden, and any code that those event handlers contain does not 		  run.</p>
<h3 id="tocHeadRef">Create the Sample</h3>
<p><script type="text/javascript">// <![CDATA[
                loadTOCNode(2, 'summary');
// ]]&gt;</script></p>
<ol>
<li>Start Microsoft Visual Studio 2005 or Microsoft Visual 				Studio .NET 2003.</li>
<li>On the <strong>File</strong> menu, point to 				<strong>New</strong>, and then click <strong>Project</strong>.</li>
<li>Click <strong>Visual C++ Projects</strong> under 				<strong>Project Types</strong>, and then click <strong>Windows Forms 				Application (.NET)</strong> under <strong>Templates</strong>.
<p><strong>Note</strong> In Visual Studio 2005, click <strong>Visual C++</strong> under 				<strong>Project Types</strong>, and then click <strong>Windows Forms 				Application</strong> under <strong>Templates</strong>.</li>
<li>In the <strong>Name</strong> box, type 				<span>DragForm</span>, and then click 				<strong>OK</strong>.
<p>By default, the Form1 form is created and is 				opened in design mode.</li>
<li>Right-click <strong>Form1</strong>, and then click 				<strong>View Code</strong>.</li>
<li>Add the following code before the <strong>Form1</strong> class constructor code.
<div>
<div>
<pre>private:
static const int WM_NCHITTEST = 0x84;
static const int HTCLIENT = 0x1;
static const int HTCAPTION = 0x2;</pre>
</div>
</div>
</li>
<li>Add the following method to the <strong>Form1</strong> class.
<div>
<div>
<pre>protected:
	void WndProc(Message * m)
	{
		switch(m-&gt;Msg)
		{
			case WM_NCHITTEST:
				__super::WndProc(m);
				if ((int)m-&gt;Result == HTCLIENT)
					m-&gt;Result = (IntPtr)HTCAPTION;
				break;

			default:
				__super::WndProc(m);
   				break;
		}

		return;
	}</pre>
</div>
</div>
<p><strong>Note</strong> You must add the common language runtime support compiler option 				(/clr:oldSyntax) in Visual C++ 2005 to successfully compile the previous code 				sample. To add the common language runtime support compiler option in Visual 				C++ 2005, follow these steps:</p>
<ol>
<li>Click <strong>Project</strong>, and then click 					 <strong><var>&lt;ProjectName&gt;</var> Properties</strong>.
<p><strong>Note </strong><var>&lt;ProjectName&gt;</var> is a placeholder 					 for the name of the project.</li>
<li>Expand <strong>Configuration Properties</strong>, and 					 then click <strong>General</strong>.</li>
<li>Click to select <strong>Common Language Runtime 					 Support, Old Syntax (/clr:oldSyntax)</strong> in the <strong>Common Language 					 Runtime support</strong> project setting in the right pane, click 					 <strong>Apply</strong>, and then click <strong>OK</strong>.</li>
</ol>
<p>For more information about the common language runtime 				support compiler option, visit the following Microsoft Web site:</p>
<div><strong>/clr (Common Language Runtime Compilation)</strong><br />
<a href="http://msdn2.microsoft.com/en-us/library/k8d11d4s.aspx">http://msdn2.microsoft.com/en-us/library/k8d11d4s.aspx</a><span> (http://msdn2.microsoft.com/en-us/library/k8d11d4s.aspx) </span></div>
</li>
<li>Press the CTRL+SHIFT+S key combination to save the 				project.</li>
<li>Press the CTRL+SHIFT+B key combination to build the 				solution.</li>
<li>Press the CTRL+F5 key combination to run the 				project.</li>
<li>Click anywhere in the client area of the form, and then try 				to drag the form. Notice that you can successfully move the form by dragging it 				from anywhere in the client area or title bar of the form.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://articles.devitpk.com/?feed=rss2&amp;p=33</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 Reasons To Launch A Website :</title>
		<link>http://articles.devitpk.com/?p=31</link>
		<comments>http://articles.devitpk.com/?p=31#comments</comments>
		<pubDate>Sun, 30 Aug 2009 10:23:58 +0000</pubDate>
		<dc:creator>seoinxs</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[reason of webdesign]]></category>
		<category><![CDATA[web designing]]></category>

		<guid isPermaLink="false">http://articles.devitpk.com/?p=31</guid>
		<description><![CDATA[Change is constant, an appropriate adage for today&#8217;s scenario. There is a vast competitive market where you want to establish your enterprise. You should be more forward thinking if you wish to stand out in your business. Being in the market is just not enough, people should mark your presence then only your business will [...]]]></description>
			<content:encoded><![CDATA[<p>Change is constant, an appropriate adage for today&#8217;s scenario. There is a vast competitive market where you want to establish your enterprise. You should be more forward thinking if you wish to stand out in your business. Being in the market is just not enough, people should mark your presence then only your business will be successful.<br />
One of the easiest ways of reaching masses is through Internet. For this your business needs a website, which can represent you on web giving you a web presence.<br />
This isn&#8217;t that expensive, if done properly can give you better ROI (Return on Investment) than any advertisement or promotion. If these reasons are not enough for you then let&#8217;s discuss 10 more reasons why your business needs a website.</p>
<p><strong>Professional Image</strong><br />
A website helps you to create a professional image. A professionally designed website can attract visitors which can convert into new customers. This gives an impression that the company is credible and trustworthy. Your well made website gives you a professional touch.</p>
<p><strong>Business Information</strong><br />
Your website makes you easily accessible and reachable. You can provide your business information in your website like phone number, fax number, clients and special offerings. People can get a brief about you just by visiting your company website</p>
<p><strong>Promotional Tool</strong><br />
Website is the most convenient and professional promotional tool. It ensures a less expensive and continuous promotion to your business. It is easy to update than yellow pages or brochures. It can save your printing expenditure.</p>
<p><strong>Establishes E &#8211; Commerce</strong><br />
Millions of customers log on to the Internet everyday to expand web business or E- Commerce. Once you are in the web the transactions the business you generate becomes a part of the E-Commerce, where you deal in a virtual market. Your single website becomes your active tool in generating business by E-Commerce businesses.</p>
<p><strong>Research Information</strong><br />
Your website provides the required research information to your visitors. Many people spend hour in Internet searching articles, information for educational purpose. You can be referred by many visitors if your website has information about any product or service.<br />
<strong><br />
Demographic Market</strong><br />
The World Wide Web or WWW is the highest virtual market having the highest percentage of demographic market available. This mostly consists of educated mass that can spend more on the web. You can target a large mass of affluent customers through Internet.<br />
<strong><br />
Global Market</strong><br />
Internet is a global medium. If you have a website it can be visited from any part of the globe. People can visit your website for information and offerings. This gives your business a global presence.<br />
<strong><br />
Round the Clock Availability</strong><br />
Your business hour can have a proper timing but your website is not bound of timings. People can visit your website anytime any day. Your webpage can serve your client round the clock without charging any overtime</p>
<p><strong>Feedback &#8211; Room for improvement</strong><br />
Website can give you instant feedback which is not possible for print. Visitors can give you proper feedback by e mail. You can even generate an instant feedback form in your website, where visitors can express their views about your website.</p>
<p><strong>Persuasive</strong><br />
People believe in what they see. When you will have a visible web presence you can allure visitors and show confidence on your expertise and work. By providing service and product information you can get instant orders from your visitors. This can effortlessly attract new business for you.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p><strong>Author:</strong></p>
<p><a href="http://seoinxs.blogspot.com">Award Winning Author</a>, Motivator And Public Speaker Who Had Quietly Been Making Over $20,000 Per Month Just From Home Based part time Online Freelance Jobs.<a href="http://www.freeearningtip.com/"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://articles.devitpk.com/?feed=rss2&amp;p=31</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SEE THE FUTURE OF DEVELOPER TECHNOLOGY</title>
		<link>http://articles.devitpk.com/?p=28</link>
		<comments>http://articles.devitpk.com/?p=28#comments</comments>
		<pubDate>Sun, 30 Aug 2009 09:57:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[future of developers]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[pdc]]></category>

		<guid isPermaLink="false">http://articles.devitpk.com/?p=28</guid>
		<description><![CDATA[Since 1991, the Professional Developers Conference (PDC) has been Microsoft’s premier gathering of leading-edge developers and architects. Attendees come from around the world to learn about the future of Microsoft’s platform, exchange ideas with Microsoft technology experts and network with fellow professionals.
What you’ll get at the PDC

Hear from keynote speakers who help set the direction for [...]]]></description>
			<content:encoded><![CDATA[<p>Since 1991, the Professional Developers Conference (PDC) has been Microsoft’s premier gathering of leading-edge developers and architects. Attendees come from around the world to learn about the future of Microsoft’s platform, exchange ideas with Microsoft technology experts and network with fellow professionals.</p>
<h3>What you’ll get at the PDC</h3>
<ul>
<li>Hear from keynote speakers who help set the direction for Microsoft and the industry, and see them unveil our new products and technologies</li>
<li>Immerse yourself in 4 days of deep, technical session and workshop content delivered by Microsoft and industry luminaries</li>
<li>Get one-on-one access to over 1,000 Microsoft experts at the Ask The Experts reception and onsite throughout the conference</li>
<li>Try out the latest platform technologies in our Hands-on-Labs and get a jump start on planning your company’s products and technology investments</li>
<li>Network with other leading-edge developers and architects</li>
<li>Walk away with the pre-release bits</li>
</ul>
<p>Since the beginning, the PDC has been the epicenter of Microsoft’s biggest platform announcements, including Microsoft .NET, Windows® XP, Windows Vista®, and Windows 7®. This year, you’ll hear more details about our services platform, the future of Windows, the web, devices, and our next generation of developer tools. And as always, some of the most exciting announcements are closely-guarded secrets until the event. Join us at PDC09 and be among the first to see the future of Microsoft&#8217;s developer platform.</p>
]]></content:encoded>
			<wfw:commentRss>http://articles.devitpk.com/?feed=rss2&amp;p=28</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Evolution of Search Engines</title>
		<link>http://articles.devitpk.com/?p=24</link>
		<comments>http://articles.devitpk.com/?p=24#comments</comments>
		<pubDate>Sun, 30 Aug 2009 07:17:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[internet marketing]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[web promotion]]></category>

		<guid isPermaLink="false">http://articles.devitpk.com/?p=24</guid>
		<description><![CDATA[The history of search engines is the account of university students’ projects growing into marketable enterprise and revolutionizing the field as they went. The initial effort at creating a search engine was called Archie, and it was fashioned in 1990 by a student at McGill University, Alan Emtage. This very primordial search engine did not [...]]]></description>
			<content:encoded><![CDATA[<p>The history of search engines is the account of university students’ projects growing into marketable enterprise and revolutionizing the field as they went. The initial effort at creating a search engine was called Archie, and it was fashioned in 1990 by a student at McGill University, Alan Emtage. This very primordial search engine did not utilize in the least automaton skill.<br />
The next evolutionary pace of the search engine was the prologue of “robots.”Basically what robots would execute is to examine the internet for URL’s, starting at a single spot and via the links in the preceding site to locate additional sites.<br />
Nevertheless, soon after, in December 1993, a fresh robot was born and was called the “spider.”. The older robots barely indexed the URL and titles of a sheet, which destined to some related keywords, might not be indexed. This significantly enhanced the relevancy rankings of their consequences, and thus was the primary key step in forming the chief search engines that we have all turn out to be so worn to using these days.<br />
Search engines encompass a vast effect on the American standard of living. They fundamentally will donate you just regarding any information you wish for, all you comprise to do is type into the explore box the subject matter you would like to find more information on. Human beings are normal instinctive information junkies, we constantly would like to know more and find out more and search engines have prepared this advocate of ours really easy to heal.</p>
]]></content:encoded>
			<wfw:commentRss>http://articles.devitpk.com/?feed=rss2&amp;p=24</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>What is ASP?</title>
		<link>http://articles.devitpk.com/?p=20</link>
		<comments>http://articles.devitpk.com/?p=20#comments</comments>
		<pubDate>Sat, 29 Aug 2009 18:59:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Articles]]></category>

		<guid isPermaLink="false">http://articles.devitpk.com/?p=20</guid>
		<description><![CDATA[Active Server Pages is a programming environment that gives the ability to generate dynamic html pages with the help of server side scripting.
VBScript is the default scripting language for ASP, but if you like you can use VBScript, JScript, Perl or any other scripting language for server side scripting in an ASP page. An ASP [...]]]></description>
			<content:encoded><![CDATA[<p>Active Server Pages is a programming environment that gives the ability to generate dynamic html pages with the help of server side scripting.</p>
<p>VBScript is the default scripting language for ASP, but if you like you can use VBScript, JScript, Perl or any other scripting language for server side scripting in an ASP page. An ASP page is almost the same as a HTM or HTML page&#8230; the only difference is that an ASP page has the &#8216;.asp&#8217; extension. Active Server Page can include both client side and server side scripts. In an ASP page VBScript is usually used as the server side and Java Script as the client side scripting language.</p>
<p><strong>Do i need any special software to write ASP?</strong><br />
You don&#8217;t need any special software to write an ASP page. An ASP page can be written with any HTML editor&#8230; even in Windows Notepad. If you are looking for some special software to write an ASP page, Microsoft Visual InterDev is the best tool for you. InterDev helps you to easily develop ASP applications because it simplifies the process of developing and debugging ASP applications.</p>
<p><strong>Browser independent.</strong><br />
ASP is browser independent because all the scripting code runs on the server and the browser only gets a normal HTML page as a result of server side scripting.</p>
<p><strong>How ASP work?</strong></p>
<p><strong>In Case of a HTM or HTML page.</strong></p>
<p>•  A user requests a web page in the browser (i.e., &#8216;http://www.devasp.com/test.htm&#8217;)</p>
<p>•  Browser requests the required page from the server (like IIS or PWS).</p>
<p>•  Server reads the required file from memory or the file system and sends it back to the Browser.</p>
<p>•  Browser executes the client side scripting (i.e., Java scripts) and displays the results.</p>
<p><strong>In case of Active Server Page.</strong></p>
<p>•  A user requests a web page in the browser with a file extension .asp<br />
(i.e., &#8216;http://www.devasp.com/test.asp&#8217;)</p>
<p>•  Browser requests the page from the server (like IIS or PWS).</p>
<p>•  Server reads the required file from memory or the file system and recognizes that the file has<br />
an &#8216;.asp&#8217; extension.</p>
<p>•  Server sends that file to ASP.dll.</p>
<p>•  ASP.dll reads the file with the &#8216;.asp&#8217; extension from top to bottom and executes all the codes<br />
within the &lt;% and %&gt; tags and produces a standard HTML page.</p>
<p>•  The server sends that HTML page back to browser.</p>
<p>•  Browser executes the client side scripting (i.e., Java scripts) and displays the results to the<br />
user in the browser window.</p>
<p>Let us take a look at this simple ASP example to get a better idea how ASP works.</p>
<p><strong>File: HelloWorld.asp</strong></p>
<table border="0" cellpadding="0" width="300">
<tbody>
<tr>
<td valign="top">&lt;head&gt;<br />
&lt;title&gt;Hello   World&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;h2&gt;<br />
My First ASP Page.&lt;/h2&gt;<br />
&lt;%  <strong>For</strong> I = 1 <strong>To</strong> 5    %&gt;<br />
&lt;font size=&#8221;&lt;%=I%&gt;&#8221;&gt;Hello World &lt;/font&gt;<br />
&lt;br&gt;<br />
&lt;% <strong>Next</strong> %&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</td>
</tr>
</tbody>
</table>
<p>If you request this page in browser this is the result what you will see in the browser as output of this page.</p>
<p>Now if you check &#8220;View Source&#8221; behind this page you will see something like this.</p>
<p>What happend actually when you requests this page in web browser.<br />
Server reads the file extension and recognize that this is an ASP file and need to execute before send back to browser. ASP.dll reads the file from top to bottom and the executes the code written in between &lt;% and %&gt; tags and browser only gets a result of that server side scripting.</p>
]]></content:encoded>
			<wfw:commentRss>http://articles.devitpk.com/?feed=rss2&amp;p=20</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP Server Variables</title>
		<link>http://articles.devitpk.com/?p=18</link>
		<comments>http://articles.devitpk.com/?p=18#comments</comments>
		<pubDate>Sat, 29 Aug 2009 18:57:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Sample Codes]]></category>

		<guid isPermaLink="false">http://articles.devitpk.com/?p=18</guid>
		<description><![CDATA[This simple example will show you some commonly used server variables and a small     script that can be used to retrieve the list of server variables and their values.

HTTP_REFERER
Request.ServerVariables(&#8221;HTTP_REFERER&#8221;)
Give you the URL of the referring page.
HTTP_USER_AGENT
Request.ServerVariables(&#8221;HTTP_USER_AGENT&#8221;)
Returns the information of the browser requesting the page.
QUERY_STRING
Request.ServerVariables(&#8221;QUERY_STRING&#8221;)
Returns the Query information from the URL after [...]]]></description>
			<content:encoded><![CDATA[<p>This simple example will show you some commonly used server variables and a small     script that can be used to retrieve the list of server variables and their values.</p>
<ul>
<li><strong>HTTP_REFERER</strong><br />
Request.ServerVariables(&#8221;HTTP_REFERER&#8221;)<br />
Give you the URL of the referring page.</li>
<li><strong>HTTP_USER_AGENT</strong><br />
Request.ServerVariables(&#8221;HTTP_USER_AGENT&#8221;)<br />
Returns the information of the browser requesting the page.</li>
<li><strong>QUERY_STRING</strong><br />
Request.ServerVariables(&#8221;QUERY_STRING&#8221;)<br />
Returns the Query information from the URL after the question mark (?).</li>
<li><strong>REMOTE_ADDR</strong><br />
Request.ServerVariables(&#8221;REMOTE_ADDR&#8221;)<br />
Returns the The IP address of the remote host who has requested the page.</li>
</ul>
<p><span style="font-family: Courier New; color: #000000; font-size: x-small;"><span style="background: yellow none repeat scroll 0% 0%; font-family: Courier New; font-size: x-small;">&lt;%</span><span style="font-family: Courier New; color: #0032a8; font-size: x-small;"></p>
<p><span style="font-family: Courier New; color: blue; font-size: x-small;"><strong>Dim</strong></span> VariableName</p>
<p>Response.Write &#8220;&lt;TABLE Border=1 BorderColor=&#8221;"BBBBBB&#8221;"&gt;&#8221;<br />
Response.Write &#8220; &lt;TR&gt;&#8221;<br />
Response.Write &#8220;  &lt;TD&gt;&lt;B&gt;Server Variable Name&lt;/B&gt;&lt;/TD&gt;&#8221;<br />
Response.Write &#8220;  &lt;TD&gt;&lt;B&gt;Server Variable Value&lt;/B&gt;&lt;/TD&gt;&#8221;<br />
Response.Write &#8220; &lt;/TR&gt;&#8221;</p>
<p><span style="font-family: Courier New; color: blue; font-size: x-small;"><strong>For Each</strong></span> VariableName               <span style="font-family: Courier New; color: blue; font-size: x-small;"><strong>In</strong></span> Request.ServerVariables</p>
<p>Response.Write &#8220;&lt;TR&gt;&#8221;<br />
Response.Write &#8220; &lt;TD&gt;&amp;nbsp;&#8221; &amp; VariableName &amp;               &#8220;&lt;/TD&gt;&#8221;<br />
Response.Write &#8220; &lt;TD&gt;&amp;nbsp;&#8221;<br />
Response.write   Request.ServerVariables(VariableName)<br />
Response.Write &#8220; &lt;/TD&gt;&#8221;<br />
Response.Write &#8220;&lt;/TR&gt;&#8221;</p>
<p><span style="font-family: Courier New; color: blue; font-size: x-small;"><strong>Next</strong></span></p>
<p>Response.Write &#8220;&lt;/TABLE&gt;&#8221;</p>
<p></span><span style="background: yellow none repeat scroll 0% 0%; font-family: Courier New; font-size: x-small;">%&gt;</span></span></p>
<p><span style="font-family: Courier New; color: #000000; font-size: x-small;"><span style="background: yellow none repeat scroll 0% 0%; font-family: Courier New; font-size: x-small;"><br />
</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://articles.devitpk.com/?feed=rss2&amp;p=18</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ten Things to Do With IIS</title>
		<link>http://articles.devitpk.com/?p=1</link>
		<comments>http://articles.devitpk.com/?p=1#comments</comments>
		<pubDate>Sat, 29 Aug 2009 18:15:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[IIS]]></category>

		<guid isPermaLink="false">http://articles.devitpk.com/?p=1</guid>
		<description><![CDATA[As an IIS administrator it sometimes gets downright annoying having to fend off           all the insults from Apache admins I meet claming innate server superiority. Generally           the discussion about Web administration starts first with all [...]]]></description>
			<content:encoded><![CDATA[<p>As an IIS administrator it sometimes gets downright annoying having to fend off           all the insults from Apache admins I meet claming innate server superiority. Generally           the discussion about Web administration starts first with all the various security           holes plaguing IIS and the negative press the platform garnered over the last year.           Then it invariably moves to a discussion about how <a href="http://www.netcraft.com/" target="_New">Netcraft</a> and other stats sites show Apache as the dominant server           on the Web, or how a certain big site uses Apache, or how there are so many cool           <a href="http://httpd.apache.org/docs/mod/" target="_New">modules</a> to add to           Apache. Pointing out that scads of non-identified corporate in-house servers run           IIS, or that it too is a free server (since it comes with the operating system),           or that there are in fact plenty of cool <a href="http://www.iisfaq.com/default.asp?View=P11" target="_New">add-ons for IIS</a> (including many that provide <a href="http://www.genusa.com/isapi/isapisrc.html" target="_New">source code</a>) &#8212; all this does little to dissuade these server           chauvinists of their opinion. Rather than whining about rude Apache admins, however,           I thought it would be a more useful response simply to write down some of the ways           I&#8217;ve found of improving IIS. So without further delay here are my top ten tips for           making the most of your IIS.</p>
<p><strong>Tip 10: Customize Your Error Pages</strong></p>
<p>Although this is quite simple to do, few people seem to           take advantage of it. Just select the &#8220;Custom Errors&#8221; tab in MMC and map           each error, such as 404, to the appropriate HTML or ASP template. Full details can           be found <a href="http://www.15seconds.com/issue/980210.htm" target="_New">here</a>.           If you want an even easier solution &#8212; or if you want to let developers handle the           mapping without giving them access to the MMC &#8212; use a product like <a href="http://www.customerror.com/" target="_New">CustomError</a>.</p>
<p><strong>Tip 9: Dive into the MetaBase</strong></p>
<p>If you think Apache is powerful because it has a config           file, then take a look at the MetaBase. You can do just about anything you want           with IIS by editing the MetaBase. For example, you can create virtual directories           and servers; stop, start and pause Web sites; and create, delete, enable and disable           applications.</p>
<p>Microsoft provides a GUI utility called MetaEdit, somewhat similar to RegEdit, to           help you read from and write to the MetaBase. Download the latest version <a href="http://support.microsoft.com/default.aspx?scid=KB;EN-US;q232068" target="_New">here</a>. But to really impress those UNIX admins &#8212; and to take           full advantage of the MetaBase by learning how to manipulate it programmatically           &#8212; you&#8217;ll want to try out the command-line interface, officially called the IIS           Administration Script Utility. Its short name is adsutil.vbs and you&#8217;ll find it           in C:\inetpub\adminscripts, or else in %SystemRoot%\system32\inetsrv\adminsamples,           together with a host of other useful administrative scripts.</p>
<p>A word of caution though: Just like Apache conf files, the MetaBase is pretty crucial           to the functioning of your Web server, so don&#8217;t ruin it. <a href="http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q300672" target="_New">Back it up first</a>.</p>
<p><strong>Tip 8: Add spell checking to your URLs</strong></p>
<p>Apache folks always brag about cool little tricks that Apache           is capable of &#8212; especially because of the wealth of modules that can extend the           server&#8217;s basic functionality. One of the coolest of these is the ability to fix           URL typos using a module called mod_speling. Well, thanks to the folks at Port80           Software, it now appears that IIS admins can do this trick too, using an ISAPI filter           called <a href="http://www.urlspellcheck.com/" target="_New">URLSpellCheck</a>. You           can check it out right on their site, by trying URLs like <a href="http://www.urlspellcheck.com/fak.htm" target="_New">www.urlspellcheck.com/fak.htm</a>, <a href="http://www.urlspellcheck.com/faq1.htm" target="_New">www.urlspellcheck.com/faq1.htm</a> &#8212; or any other simple typo           you care to make.</p>
<p><strong>Tip 7: Rewrite your URLs</strong></p>
<p>Cleaning your URLs has all sorts of benefits &#8212; it can improve           the security of your site, ease migration woes, and provide an extra layer of abstraction           to your Web applications. Moving from a ColdFusion to an ASP based site, for example,           is no big deal if you can remap the URLs. Apache users have long bragged about the           huge power of mod_rewrite &#8212; the standard Apache module for URL rewriting. Well,           there are now literally a dozen versions of this type of product for IIS &#8212; many           of them quite a bit easier to use than mod_rewrite, which tends to presume familiarity           with regular expression arcana. Check out, for example, <a href="http://www.qwerksoft.com/products/iisrewrite/" target="_New">IIS ReWrite</a> or <a href="http://www.isapirewrite.com/" target="_New"> ISAPI ReWrite</a>. So brag no more, Apache partisans.</p>
<p><strong>Tip 6: Add browser detection</strong></p>
<p>There are a lot of ways to build Web sites, but assuming           everybody has a certain browser or screen size is just plain stupid. Simple JavaScript           sniff-scripts exist for client-side browser detection, but if you are an IIS user           you can do better with a product called <a href="http://www.browserhawk.com/" target="_New"> BrowserHawk</a> from CyScape. The Apache world doesn&#8217;t really have something comparable           to this popular, mature and well-supported product. Speaking of CyScape, they&#8217;ve           recently added an interesting-looking related product called <a href="http://www.browserhawk.com/products/country/intro.asp" target="_New">CountryHawk</a> that helps with location detection, but so far I           haven&#8217;t had the language- or location-sensitive content to warrant trying it out.</p>
<p><strong>Tip 5: Gzip site content</strong></p>
<p>Browsers can handle Gzipped and deflated content and decompress           it on the fly. While IIS 5 had a gzip feature built-in, it is pretty much broken.           Enter products like <a href="http://www.pipeboost.com/" target="_New">Pipeboost</a> to give us better functionality &#8212; similar to what Apache users have enjoyed with           <a href="http://www.remotecommunications.com/apache/mod_gzip/" target="_New">mod_gzip</a>.           Don&#8217;t waste your bandwidth &#8212; even Google encodes its content, and their pages are           tiny.</p>
<p><strong>Tip 4: Cache your content</strong></p>
<p>While I&#8217;m on the topic of improving performance, remember           to make your site cache friendly. You can set expiration headers for different files           or directories right from the MMC. Just right click on an item via the IIS MMC,           flip to the &#8220;HTTP Headers&#8221; tab, and away you go. If you want to set cache           control headers programmatically &#8212; or even better, let your site developers do           it &#8212; use something like <a href="http://www.cacheright.com/" target="_New">CacheRight</a>.           If you want to go further and add reverse proxy caching, particularly for generated           content, use a product like <a href="http://www.xcache.com/home/default.asp?c=45&amp;p=352" target="_New">XCache</a> &#8212; which also throws in compression.</p>
<p>It might involve more time and expense to take full advantage of caching, but when           you watch your logs shrink because they don&#8217;t contain tons of pointless 304 responses,           and your bandwidth consumption drop like a stone, even while your total page views           increase over the same period, you&#8217;ll start to understand why this particular tip           was so important. Cache friendly sites are quite rare, but there is plenty of information           available online about the enormous benefits to be had by doing it right: Check           out <a href="http://www.web-caching.com/" target="_New">Brian Davidson&#8217;s page</a>,           this nifty tutorial from <a href="http://www.mnot.net/cache_docs/" target="_New">Mark             Nottingham</a>, and <a href="http://webmaster.info.aol.com/index.cfm?sitenum=2&amp;article=12" target="_New">what AOL has to say</a> on the subject.</p>
<p><strong>Tip 3: Tune your server</strong></p>
<p>Tuning IIS is no small topic &#8212; whole books and courses           are dedicated to it. But some good basic help is available online, such as this           piece from IIS guru <a href="http://www.iisadministrator.com/Articles/Index.cfm?ArticleID=16144" target="_New">Brett Hill</a>, or this <a href="http://support.microsoft.com/default.aspx?scid=KB;EN-US;q308186&amp;" target="_New">Knowledge Base article</a> from Microsoft itself. However, if           you don&#8217;t feel like getting your hands dirty &#8212; or can&#8217;t afford the time and expense           of turning yourself into an expert &#8212; take a look at <a href="http://www.xcache.com/home/default.asp?c=51&amp;p=334" target="_New">XTune</a>, from the makers of XCache. It&#8217;s performance tuning wizards           step you through the process of tuning your IIS environment, making expert recommendations           along the way.</p>
<p><strong>Tip 2: Secure your server with simple fixes</strong></p>
<p>Sure people are going to attack sites, but you don&#8217;t have           to be a sitting duck if you&#8217;re willing to make even a small effort. First off, don&#8217;t           advertise the fact that you are running IIS by showing your HTTP server header.           Remove or replace it using something like <a href="http://www.servermask.com/" target="_New"> ServerMask</a> &#8212; probably the best twenty-five bucks you&#8217;ll ever spend. You can           go farther than this by removing unnecessary file extensions to further camouflage           your server environment, and scanning request URLs for signs of exploits. There           are number of commercial products that do user input scanning, and Microsoft offers           a free tool called <a href="http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/tools/tools/urlscan.asp?frame=true" target="_New">URLScan</a> which does the job. URLScan runs in conjunction with           <a href="http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/tools/tools/locktool.asp" target="_New">IISLockDown</a>, a standard security package which should probably           be installed on every IIS server on the planet. These are simple fixes that could           pay off big, so do them now.</p>
<p><strong>Tip 1: Patch, patch, patch!</strong></p>
<p>Okay, we in the IIS world do have to patch our systems and           make hotfixes. However, as a former Solaris admin I had to do the same thing there,           so I am not sure why this is a big surprise. You really need to keep up with the           patches, Microsoft is of course the <a href="http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/current.asp" target="_New">definitive source</a>, but if you can also use the highly-regarded           www.cert.org. Simply search on &#8220;IIS&#8221;.</p>
<p>Well there you have it: 10 tips for IIS admins to improve their servers. Some of           the tips might become obsolete once IIS 6 is gold, but, for now at least, W2K and           NT IIS admins should apply a few of these today and sleep a little better at night.</p>
]]></content:encoded>
			<wfw:commentRss>http://articles.devitpk.com/?feed=rss2&amp;p=1</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
