<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>iis-70 &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/iis-70/</link>
	<description>Feed of posts on WordPress.com tagged "iis-70"</description>
	<pubDate>Fri, 04 Dec 2009 07:45:42 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[IIS7 gratuito?Cassini è morto?]]></title>
<link>http://pythonyan.wordpress.com/2009/09/29/iis7-gratuitocassini-e-morto/</link>
<pubDate>Tue, 29 Sep 2009 08:32:01 +0000</pubDate>
<dc:creator>pythonyan</dc:creator>
<guid>http://pythonyan.wordpress.com/2009/09/29/iis7-gratuitocassini-e-morto/</guid>
<description><![CDATA[Sembrerebbe di sì Spark è alive. http://www.microsoft.com/web/downloads/platform.aspx]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Sembrerebbe di sì Spark è alive.</p>
<p>http://www.microsoft.com/web/downloads/platform.aspx</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cannot find Error Pages in IIS 7.0 Manager]]></title>
<link>http://tidwtf.wordpress.com/2009/09/08/cannot-find-error-pages-in-iis-7-0-manager/</link>
<pubDate>Tue, 08 Sep 2009 14:54:01 +0000</pubDate>
<dc:creator>tidwtf</dc:creator>
<guid>http://tidwtf.wordpress.com/2009/09/08/cannot-find-error-pages-in-iis-7-0-manager/</guid>
<description><![CDATA[The Error Pages icon was missing from Internet Information Services Manager on my Vista machine. Thi]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>The Error Pages icon was missing from Internet Information Services Manager on my Vista machine.</p>
<p>This feature will need to be turned on in Windows Features:<br />
<em>Control Panel &#62; Programs and Features &#62; Turn Windows features on or off</em></p>
<p>Check the box next to:<br />
<em>Internet Information Services &#62; World Wide Web Service &#62; Common Http Features &#62; HTTP Errors.</em></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Unable to start debugging on the web server]]></title>
<link>http://tidwtf.wordpress.com/2009/09/08/unable-to-start-debugging-on-the-web-server/</link>
<pubDate>Tue, 08 Sep 2009 13:44:27 +0000</pubDate>
<dc:creator>tidwtf</dc:creator>
<guid>http://tidwtf.wordpress.com/2009/09/08/unable-to-start-debugging-on-the-web-server/</guid>
<description><![CDATA[Unable to start debugging on the web server. Server side-error occurred on sending debug HTTP reques]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><blockquote><p>Unable to start debugging on the web server.</p>
<p>Server side-error occurred on sending debug HTTP request. Make sure the server is operating correctly. Verify there is no syntax errors in the web.config by doing a Debug.Start without Debugging. You also want to refer to the ASP.NET and ATL Server debugging topic in the online documentation.</p></blockquote>
<p>Microsoft Vista Business, IIS 7.0, Visual Studio 2005</p>
<p>I was getting this error whilst trying to debug a Visual Studio 2005 .NET v2.0 project which uses the local IIS rather than the built in Visual Studio Development Server.</p>
<p>I tried many things to fix this error, permissions, updates, reg_iis, etc. However what worked for me was by <strong>changing the Application Pool for my application from DefaultAppPool to Classic .NET AppPool</strong>.</p>
<p>Why does this work? By default the DefaultAppPool runs in Integrated Managed Pipeline Mode and the Classic .NET AppPool runs in Classic Managed Pipeline Mode.</p>
<p><strong>Integrated Managed Pipeline Mode<br />
</strong>This is new in IIS 7.0 and essentially wraps IIS and ASP.NET into one process model.</p>
<p><strong>Classic Managed Pipeline Mode<br />
</strong>This is backwards compatibility mode for IIS 7.0 and handles requests in an IIS 6.0 worker process. IIS and ASP.NET are separated.</p>
<p><strong>So why did this break my app?<br />
</strong>My app was originally upgraded from an earlier version of .NET to .NET 2.0 and so is not IIS 7.0 compliant. I will need to migrate it so it can utilise the new integrated mode in IIS 7.0. This migration process is documented here.<br />
<a title="http://learn.iis.net/page.aspx/381/aspnet-20-breaking-changes-on-iis-70/" href="http://learn.iis.net/page.aspx/381/aspnet-20-breaking-changes-on-iis-70/">http://learn.iis.net/page.aspx/381/aspnet-20-breaking-changes-on-iis-70/</a></p>
<p><strong>Update<br />
</strong>The HTTP Error I was receiving was 500.24. By following the article above all I needed to do to add the below to the web.config and now my app runs correctly in Integrated Managed Pipeline Mode.</p>
<blockquote><p>&#60;system.webServer&#62;<br />
&#60;validation validateIntegratedModeConfiguration=&#8221;false&#8221; /&#62;<br />
&#60;/system.webServer&#62;</p></blockquote>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[محدود کردن تعداد کاربران همزمان یک برنامه تحت وب]]></title>
<link>http://hajloo.wordpress.com/2009/07/14/limit-the-number-of-concurrent-requests/</link>
<pubDate>Tue, 14 Jul 2009 11:22:06 +0000</pubDate>
<dc:creator>ناصر حاجلو :-: Nasser Hajloo</dc:creator>
<guid>http://hajloo.wordpress.com/2009/07/14/limit-the-number-of-concurrent-requests/</guid>
<description><![CDATA[چنانکه همه می‌دانیم برنامه های ایرانی بر اساس محدودیت تعداد کاربران به فروش می‌رسند که در اینجا نمی‌]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>چنانکه همه می‌دانیم برنامه های ایرانی بر اساس محدودیت تعداد کاربران به فروش می‌رسند که در اینجا نمی‌خواهم در ارتباط با اینکه این موضوع خوب است یا بد صحبت کنم. می خواهم راهی را برای محدود کرد تعداد کاربران همزمان به برنامه نویس ها نشان بدهم.</p>
<p style="text-align:center;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>این مطلب زیر نظر مجوز <strong>GFDL</strong> منتشر می‌شود. و کلیه حقوق آن برای همگان آزاد است، بدین شرط که به کلیه شرایط موجود در <strong>مجوز GFDL</strong> ( که <a href="http://www.gnu.org/copyleft/fdl.html">یک نسخه از <strong>متن انگلیسی مجوز GFDL</strong> در این محل</a> و <a href="http://www.kaveh.org/gnu/fdl-fa.html">یک ترجمه <strong>غیر رسمی (فارسی) از متن مجوز GFDL</strong> که در مرداد ۱۳۸۳ توسط <strong>کاوه رنجبر</strong> تهیه شده است در این محل</a> ) قرار دارد پایبند باشد.</p>
<div id="attachment_680" class="wp-caption alignleft" style="width: 160px"><img class="size-thumbnail wp-image-680" title="gnu_logo" src="http://hajloo.wordpress.com/files/2009/04/gnu_logo.jpg?w=150" alt="GNU Logo" width="150" height="148" /><p class="wp-caption-text">GNU Logo</p></div>
<p>عنوان و لینک مطلب اصلی :<a href="http://blogs.msdn.com/webdevelopertips/archive/2009/07/10/tip-88-did-you-know-to-not-stress-your-server-limit-the-number-of-concurrent-requests.aspx" target="_blank"> <strong>Tip #88: Did you know… To not stress your server, limit the number of concurrent requests </strong></a></p>
<p>عنوان مطلب بازنویسی شده : <strong>محدود کردن تعداد کاربران همزمان یک برنامه تحت وب</strong></p>
<p>بخش ثانی : <strong>ندارد</strong></p>
<p>تاریخ انتشار :<strong> 19/04/1388 </strong>مطابق با <strong>10/07/2009 </strong></p>
<p>تاریخ بازنویسی :<strong> 23/04/1388 </strong>مطابق با <strong>14/07/2009 </strong></p>
<p>شماره نسخه اصلی : <strong>نسخه یک</strong></p>
<p>شماره نسخه بازنویسی : <strong>نسخه دو</strong></p>
<p>نویسنده : <strong>Carlos Aguilar Mares</strong></p>
<p>بازنویس : <strong>ناصر حاجلو</strong></p>
<p>ای-میل بازنویس :<strong> </strong><a href="mailto:n.hajloo@gmail.com"><strong>n.hajloo@gmail.com</strong></a></p>
<p dir="ltr">Copyright (c) 2009 Carlos Aguilar Mares &#38; Nasser Hajloo.</p>
<p dir="ltr">Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation;</p>
<p dir="ltr">with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled &#8220;GNU Free Documentation License&#8221;.</p>
<p style="text-align:center;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>راه‌های زیادی برای محدود کردن تعداد کاربران وجود دارد که هر کدام مزیتها ومعایب خودشان را دارند. چندی پیش مایکروسافت، یک add-on برای IIS با نام <a href="http://www.iis.net/extensions/SEOToolkit" target="_blank">IIS SEO </a> ارائه کرد که استفاده آن برای وبسایت‌ها توصیه می‌شود. این add-on یک امکان برای محدود کردن تعداد کاربران دراختیار شما می‌گذارد که در زیر با آن آشنا می‌شویم.</p>
<p>پیش از ادامه باید متذکر شوم که این مطلب را <em><strong> کارلوس آگویلار مارس</strong></em> در وب‌سایت <a href="http://blogs.msdn.com/webdevelopertips" target="_blank&#34;">Tips &#38; Tricks for ASP.NET, IIS, and Visual Web Developer</a> <a>نوشته و می‌توانید اصل مطلب را به زبان انگلیسی </a><a href="http://blogs.msdn.com/webdevelopertips/archive/2009/07/10/tip-88-did-you-know-to-not-stress-your-server-limit-the-number-of-concurrent-requests.aspx"><strong>اینجا</strong></a> مطالعه کنید. ( در اصل مطلب توضیحاتی در ارتباط با مزایای محدود کردن تعداد کاربران و نیز قابلیت‌هایی که در آینده به نسخه اصلی اضافه خواهد شد هم نوشته شده که من از ذکر آنها خودداری کردم.)</p>
<p>برای محدود کردن تعداد (درخواست) کاربران همزمان به روش زیر عمل کنید:</p>
<p>به صفحه Site Analysis Reports بروید. ( نیاز به نصب add-onی با نام IIS SEO دارد )</p>
<p>بر روی Edit Feature Settings  کلیک کنید.</p>
<div id="attachment_809" class="wp-caption aligncenter" style="width: 478px"><img class="size-full wp-image-809" title="IIS_SEO_Edit_Feature_Settings" src="http://hajloo.wordpress.com/files/2009/07/iis_seo_edit_feature_settings.png" alt="انتخاب Edit Feature Settings ( عکس از منبع اصلی مطلب )" width="468" height="184" /><p class="wp-caption-text">انتخاب Edit Feature Settings ( عکس از منبع اصلی مطلب )</p></div>
<p>از پنجره باز شده در قسمت <strong>Maximum Number of Concurrent Requests </strong> تعداد مورد نظرتان را بین یک تا شانزده مشخص کنید ( مقدار پیش فرض هشت است )</p>
<div id="attachment_810" class="wp-caption aligncenter" style="width: 405px"><img class="size-full wp-image-810" title="IIS_SEO_Edit_Feature_Settings_DialogBox" src="http://hajloo.wordpress.com/files/2009/07/iis_seo_edit_feature_settings_dialogbox.png" alt="محدود کردن تعداد کاربران همزمان ( عکس از منبع اصلی مطلب )" width="395" height="305" /><p class="wp-caption-text">محدود کردن تعداد کاربران همزمان ( عکس از منبع اصلی مطلب )</p></div>
<p>اگر شما راه دیگری می‌شناسید آن را با ما قسمت کنید. تا با مقایسه روش‌های متفاوت ، آن را که مناسب تر است انتخاب کنیم.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[IIS 7.0]]></title>
<link>http://evacion.wordpress.com/2009/04/27/iis-70/</link>
<pubDate>Mon, 27 Apr 2009 08:59:03 +0000</pubDate>
<dc:creator>evacion</dc:creator>
<guid>http://evacion.wordpress.com/2009/04/27/iis-70/</guid>
<description><![CDATA[The release of IIS 7.0 coincides with the ten-year anniversary of the release of the first version o]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>The release of IIS 7.0 coincides with the ten-year anniversary of the release of the first version of IIS, in Windows NT® 4.0. In 2001, four versions later, IIS 5.0 became the most prevalent Web server on the Internet, though months later it fell victim to the infamous Code Red and Nimbda worms. IIS 6.0, released in Windows Server® 2003, was a major rewrite of the server, focused entirely on improving security, reliability, and performance. Since then, IIS 6.0 has proven to be a rock-solid Web server, achieving high reliability and security track records with only a single critical security bulletin since its release (which was not exploitable remotely).</p>
<p>The vision for IIS 7.0 was to take the speed, reliability, and security of the IIS 6.0 codebase and turn it into a highly extensible and manageable Web server platform powerful enough to run Web applications of the future. The result is the most ambitious Microsoft Web server yet, delivering the largest number of architectural improvements in the history of IIS.<br />
At the core of the IIS 7.0 release is a completely modular Web server, comprised of more than 40 features that can be assembled into small-footprint Web servers optimized for the desired role in your application topology. These features are built on top of a new extensibility layer that allows developers to extend or replace virtually any aspect of the server, in native code or with the Microsoft® .NET Framework. IIS 7.0 offers extensibility throughout its runtime, management, and operational features to help you build end-to-end solutions for your specific needs. On top of the core platform, IIS 7.0 tackles many of the problems associated with the manageability and operation of the server. It features a brand new configuration system that enables fully delegated management of sites and finally makes xcopy deployment of Web applications a reality. The new management APIs and diagnostic features make deployment, administration, and troubleshooting of the server significantly easier and more convenient than ever before.</p>
<div id="attachment_803" class="wp-caption aligncenter" style="width: 487px"><a href="http://evacion.wordpress.com/files/2009/04/iis6vsiis7.gif"><img class="size-full wp-image-803" title="iis6vsiis7" src="http://evacion.wordpress.com/files/2009/04/iis6vsiis7.gif" alt="Integration with ASP.NET in IIS 6.0 and IIS 7.0" width="477" height="261" /></a><p class="wp-caption-text">Integration with ASP.NET in IIS 6.0 and IIS 7.0</p></div>
<p> source: <a href="http://msdn.microsoft.com/en-us/magazine/cc163453.aspx">http://msdn.microsoft.com/en-us/magazine/cc163453.aspx</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Howto: Specify a service account for accessing a remote data path in IIS 7.0]]></title>
<link>http://thebackroomtech.com/2009/04/07/howto-specify-a-service-account-for-accessing-a-remote-data-path-in-iis-70/</link>
<pubDate>Tue, 07 Apr 2009 15:14:36 +0000</pubDate>
<dc:creator>Julie</dc:creator>
<guid>http://thebackroomtech.com/2009/04/07/howto-specify-a-service-account-for-accessing-a-remote-data-path-in-iis-70/</guid>
<description><![CDATA[I have an Active Directory domain service account that has permissions to a share on our SAN that wi]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><!--StartFragment-->I have an Active Directory domain service account that has permissions to a share on our SAN that will host IIS web site content.  I needed to allow IIS to access the share via the service account.  Here&#8217;s how to do it in IIS 7.0 on Windows Server 2008:</p>
<ol>
<li><em>Open Server Manager &#62; Roles &#62; Web Server (IIS) &#62; Internet Information Services (IIS) Manager &#62; ServerName &#62; Sites &#62; WebSiteName</em></li>
<li>Double click <em>Authentication &#62; Anonymous Authentication &#62; Edit</em></li>
<li>Under <em>Anonymous user identity</em>, select <em>Specific User &#62; Set</em></li>
<li>Enter the user name and password &#62; OK &#62; OK </li>
<li>Restart the web site</li>
</ol>
<div>Reference and details:</div>
<div><a href="http://learn.iis.net/page.aspx/140/understanding-the-built-in-user-and-group-accounts-in-iis-7">http://learn.iis.net/page.aspx/140/understanding-the-built-in-user-and-group-accounts-in-iis-7/</a></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Using Caspol.exe to grant .NET applications rights to a remote network share]]></title>
<link>http://thebackroomtech.com/2009/04/01/using-caspolexe-to-grant-net-applications-rights-to-a-remote-network-share/</link>
<pubDate>Wed, 01 Apr 2009 20:39:10 +0000</pubDate>
<dc:creator>Julie</dc:creator>
<guid>http://thebackroomtech.com/2009/04/01/using-caspolexe-to-grant-net-applications-rights-to-a-remote-network-share/</guid>
<description><![CDATA[When you host a .NET application on a remote network share, you may receive a System.SecurityExcepti]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>When you host a .NET application on a remote network share, you may receive a System.SecurityException exception error message or a security warning message.  </p>
<p>The Code Access Security Policy tool (CASPOL) enables administrators to modify security policy for the machine policy level, the user policy level, and the enterprise policy level.  </p>
<p>Caspol is used to fully trust a remote share, since by default network shares only get LocalIntranet permissions.</p>
<p>The solution for the System.SecurityException exception error message is to use caspol to grant a .NET application the FullTrust right to a network share.  To do this:</p>
<p>1.  Launch a command prompt with administrative credentials</p>
<p>2.  Change to the C:\Windows\Microsoft.NET\Framework\v2.0.50727 directory.</p>
<p>3.  Run the following command:</p>
<p><em>caspol -m -ag 1 -url &#8220;file://\\server\share\*&#8221; FullTrust -exclusive on</em></p>
<p>Replace \\server\share\ with the path to your .NET application located on the remote network share.</p>
<p>Running the above command allowed me to resolve the following IIS 7.0 error:</p>
<p><em>SecurityException: Request for the permission of type &#8216;System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&#8242; failed</em></p>
<p>By the way, .NET Framework 3.5 SP1 allows managed code to be launched from a network share.</p>
<p>References:</p>
<p>http://support.microsoft.com/?id=320268</p>
<p>http://blogs.msdn.com/shawnfa/archive/2004/12/30/344554.aspx</p>
<p>http://books.google.com/books?id=VJOtwMawoswC&#38;pg=PA576&#38;lpg=PA576&#38;dq=iis+7.0+caspol.exe&#38;source=bl&#38;ots=W88GOo1Cfp&#38;sig=U8sBtcNzbaSgPTghAp519S9O3sM&#38;hl=en&#38;ei=o1zSSeafEobmnQfHrbzlBQ&#38;sa=X&#38;oi=book_result&#38;resnum=1&#38;ct=result</p>
<p>http://www.iislogs.com/articles/23/</p>
<p>http://support.microsoft.com/kb/837909</p>
<p>http://www.sharepointblogs.com/ssa/archive/2007/09/06/using-caspol-exe-to-add-assemblies-to-full-trust-assembly-list.aspx</p>
<p>http://www.dotnetjunkies.ddj.com/quickstart/howto/doc/security/SecScripting.aspx</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Visual Studio 2005 asp.net debugging error]]></title>
<link>http://tidwtf.wordpress.com/2009/03/19/visual-studio-2005-aspnet-debugging-error/</link>
<pubDate>Thu, 19 Mar 2009 14:51:32 +0000</pubDate>
<dc:creator>tidwtf</dc:creator>
<guid>http://tidwtf.wordpress.com/2009/03/19/visual-studio-2005-aspnet-debugging-error/</guid>
<description><![CDATA[I received the below error whilst trying to debug an ASP.NET app using Visual Studio 2005 on Windows]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I received the below error whilst trying to debug an ASP.NET app using Visual Studio 2005 on Windows Vista using IIS 7.0</p>
<blockquote><p>The web server is not configured correctly. See help for common configuration errors. Running the web page outside of the debugger may provide further information.</p></blockquote>
<p>Turns out that compilation debug = true needs to be specified in the web.config<br />
<br />
&#60;compilation debug=&#8221;true&#8221;&#62;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Howto: Export IIS 7.0 web server configuration]]></title>
<link>http://thebackroomtech.com/2009/03/05/howto-export-iis-70-web-server-configuration/</link>
<pubDate>Thu, 05 Mar 2009 12:46:59 +0000</pubDate>
<dc:creator>Julie</dc:creator>
<guid>http://thebackroomtech.com/2009/03/05/howto-export-iis-70-web-server-configuration/</guid>
<description><![CDATA[To export a backup copy of your IIS 7.0 configuration on a Windows 2008 Server: Open Server Manager ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>To export a backup copy of your IIS 7.0 configuration on a Windows 2008 Server:</p>
<p>Open <em>Server Manager</em></p>
<p>Expand <em>Roles &#8211; Web Server (IIS) &#8211; Internet Information Services (IIS) Manager</em></p>
<p>Highlight the web server name</p>
<p>From the <em>Management</em> category, double click <em>Shared Configuration</em></p>
<p>Under <em>Actions</em>, select <em>Export Configuration</em>. Accept or change the default export path of <em>C:\Windows\system32\inetsrv\config\export</em></p>
<p>Click the <em>Connect As</em> button, and enter administrative credentials. If the server is a domain member, you may need to enter your credentials in the format domain\username or username@domain.com</p>
<p>Enter the encryption keys password twice and press OK</p>
<p>You should now have three files in the C:\Windows\system32\inetsrv\config\export directory: administration.config, applicationHost.config, and configEncKey.key. Save the files in a safe place.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Combata ataques DoS usando o modulo restrições por IP do IIS7]]></title>
<link>http://snnangola.wordpress.com/2009/02/20/combata-ataques-dos-usando-o-modulo-restricoes-por-ip-do-iis7/</link>
<pubDate>Fri, 20 Feb 2009 17:23:49 +0000</pubDate>
<dc:creator>snnangola</dc:creator>
<guid>http://snnangola.wordpress.com/2009/02/20/combata-ataques-dos-usando-o-modulo-restricoes-por-ip-do-iis7/</guid>
<description><![CDATA[Um dos maiores pesadelos dos administradores de redes sao os ataques de negação de serviço DoS (Deni]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:center;"><img class="aligncenter size-full wp-image-1016" title="20-02-2009-iis-7" src="http://snnangola.wordpress.com/files/2009/02/20-02-2009-iis-7.jpg" alt="20-02-2009-iis-7" width="450" height="309" /></p>
<p>Um dos maiores pesadelos dos administradores de redes sao os ataques de negação de serviço DoS (Denial of Service) onde um atacante se aproveita de debilidades ou do modelo para comunicação OSI e seus protocolos ou de falhas de sistemas de informação, com o intuito de paralisar redes de dados.</p>
<p>Pois bem, a Microsoft, e eu lembro bem teve ja durante alguns anos os seus sistemas como dos mais vulneraveis a ataques DoS, até falhas causadas por simples emissão de pacotes ICMP já chegaram a criar problemas graves a diversas redes. Hoje a situação é bem diferente, continuamos claro com o mesmo modelo OSI que nao oferece todas as garantias de confiabilidade em se tratando de protecção contra ataques de negação de serviço, mas por outro lado algumas ferramentas têm sido criadas para ajudar os administradores de redes a protegerem as suas redes de ataques deste genero.</p>
<p>O modulo &#8216;Dynamic IP Restrictions&#8217; para IIS 7.0 é um desses casos. Ele oferece a possibilidade de se:<br />
- Bloquear requisições excessivamente concorrentes que podem aumentar substancialmente o tráfego da rede.<br />
- Bloquear requisições baseadas num certo periodo temporal.<br />
- Especificar que tipo de resposta dar a requisições, que sao negadas (respostas 403, 404, até customizadas).<br />
- Gravar em arquivo log requisições negadas.<br />
- Ver lista de IPs bloqueados.<br />
- Suporte a IPV6.</p>
<p><a href="http://learn.iis.net/page.aspx/548/using-dynamic-ip-restrictions/">Tutorial</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[نحوه اجرای WebSite ها و Web Application هایی که در IIS 6.0 کار می‌کردند اما در IIS 7.0 کار نمی‌کنند]]></title>
<link>http://hajloo.wordpress.com/2009/02/12/how-to-run-aspnet-websites-and-web-applications-that-run-under-iis-60-but-not-under-iis-70/</link>
<pubDate>Thu, 12 Feb 2009 15:10:17 +0000</pubDate>
<dc:creator>ناصر حاجلو :-: Nasser Hajloo</dc:creator>
<guid>http://hajloo.wordpress.com/2009/02/12/how-to-run-aspnet-websites-and-web-applications-that-run-under-iis-60-but-not-under-iis-70/</guid>
<description><![CDATA[در حال ارتقا برنامه شرکت از نسخه ۲۰۰۵ به ۲۰۰۸ ، مشکلاتی پیش آمد که بعضی از آنها راقبلا  در اینجا آور]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>در حال ارتقا برنامه شرکت از نسخه ۲۰۰۵ به ۲۰۰۸ ، مشکلاتی پیش آمد که بعضی از آنها راقبلا  در اینجا آوردم. اما بعضی مکلات بصورت پنهان باقی مانده بود و زیاد خودنمایی نمی کرد، چون اصلا کسی به سمت آن هم نرفته بود . مثلا برنامه ما بدون هیچ مشکلی در IIS 6.0 اجرا میشد و پس از ارتقای نسخه هم هیچ مشکلی پیش نیامد. به تازگی روی یکی از سیستمهای شرکت ویندوز ویستا را به جهت تست یکسری موارد ارزیابی نشده نصب کردیم و خواستیم تا برنامه شرکت را روی IIS 7.0 نصب و اجرا کنیم.</p>
<p>خود من به شخصه قبلا خیلی کم از IIS استفاده کردم و در راهبری IIS قوی نیستم، اما در شرکت افرادی هستند که خیلی خوب روی IIS کار کرده اند به همین دلیل هیچ وقت فکر نمی کردیم که به مشکلی هم بر بخوریم . اولین باری که من برنامه را روی IIS 7.0 ( که روی ویستا هست ) نصب کردم اصلا برنامه اجرا نشد و بخاطر ضعف دانشی که از IIS داشتم مشکل را با کسی مطرح نکردم و خواستم تا مشکل را با یک جستجوی ساده روی اینترنت حل کنم. بخاطر کمبود وقتت بررسی مشکل به فراموشی سپرده شد تا اینکه بنا به دلایلی محبور به اجرای برنامه روی IIS 7.0 شدیم.</p>
<p>تا پیش از این (‌نسخه II 7.0 به قبل ) همه وب سایت ها و برنامه ها در یک WebSite مادر با نام Default Web Site نصب و اجرا میشد و این محدودیت های بسیاری را ایجاد می کرد ( مثلا شما نمی توانید در آن واحد بیش از یک اینستنس را اجرا کنید و مشکلات مشابه ) در IIS 7.0 این مشلات برطرف شده و شما می توانید تعداد متعددی از وب سایت های وادر را داشته باشید و وب سایت های مشتریان را نسبت به نوع یا میزان دسترسی و یا چه و چه در وب سایت های مختلف قرار بدهید .</p>
<div id="attachment_596" class="wp-caption aligncenter" style="width: 520px"><img class="size-full wp-image-596" title="defaultapppool" src="http://hajloo.wordpress.com/files/2009/02/defaultapppool.png" alt="پنجره ایجاد یک WebApplication در IIS 7.0" width="510" height="325" /><p class="wp-caption-text">پنجره ایجاد یک WebApplication در IIS 7.0</p></div>
<p>یکی از مزایای IIS 7.0 استفاده از یک Application Pool یکپارچه است به این مفهوم که برنامه یا وب سایت نصب شده بصورت یکپارچه از این Application Pool استفاده می کند . با این که این خاصیت مزیت بزرگی محسوب می شود بیشتر برنامه ها و یا وب سایت هایی که در Visual Studio 2005 ایجاد شده اند نمی توانند بصورت یکپارچه از Application Pool استفاده کنند . برای همین باید از Application Pool قدیمی که در نسخه IIS 6.0 به قبل بود استفاده کنند . که بصورت کاملا جداگانه از خود IIS به برنامه دسترسی داشت .</p>
<p>به همین دلیل بیشتر برنامه هایی که ما در شرکت تولید کرده بودیم روی IIS 7.0 اجرا نمیشد . برای حل این مشکل و اجرای صحیح برنامه ها و وب سایت هایی که در نسخه های قبلی IIS بخوبی اجرا می‌شدند باید Application Pool دیگری برای وب سایت استفاده کنید . برای رفع این مشکل بصورت زیر عمل کنید .</p>
<p>     ۱-     بر روی Web Site مادری که می خواهید برنامه تان در آن اجرا شود کلیک راست کرده و گزینه Add Application را انتخاب کنید . ( مثلا روی Default Web Site )</p>
<p>     ۲-     از پنجره ای که باز می شود یک نام ( Alias ) برای برنامه تان انتخاب کرده و در قسمت روبریی بر روی Select کلیک کنید تا پنجره  Select Application Pool باز شود</p>
<p>     ۳-     بعد از باز شدن این پنجره از منوی پایین افتادنی بر روی Classic .net AppPool کلیک کنید تا انتخاب شود و پس از انتخاب بر روی OK کلیک کنید .</p>
<div id="attachment_597" class="wp-caption aligncenter" style="width: 520px"><img class="size-full wp-image-597" title="classicapppool" src="http://hajloo.wordpress.com/files/2009/02/classicapppool.png" alt="پنجره تغییر Default ApplicationPool به Classic .net ApplicationPool" width="510" height="325" /><p class="wp-caption-text">پنجره تغییر Default ApplicationPool به Classic .net ApplicationPool</p></div>
<p>     ۴-     مسیر برنامه تان را روی هارد مشخص کرده و بر روی OK کلیک کنید .</p>
<p>با اتمام این مراحل اگر مشکل دیگری نداشته باشید برنامه شما باید بصورت صحیح اجرا شود .</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Configure SQL Reporting Service, to Access Reports using External IP With IIS 7]]></title>
<link>http://tejasnshah.wordpress.com/2009/01/06/configure-sql-reporting-service-to-access-reports-using-external-ip-with-iis-7/</link>
<pubDate>Tue, 06 Jan 2009 09:43:29 +0000</pubDate>
<dc:creator>Tejas Shah</dc:creator>
<guid>http://tejasnshah.wordpress.com/2009/01/06/configure-sql-reporting-service-to-access-reports-using-external-ip-with-iis-7/</guid>
<description><![CDATA[Hi All, Recently I come to situation where I need to Configure Reporting services on server having c]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Hi All, Recently I come to situation where I need to Configure Reporting services on server having configuration: Window server 2008 and IIS 7.</p>
<p>I need to configure reports in manner, so User can access this reports thru External IP Address.</p>
<p>I found one interestign thing with IIS 7.0, so user can access reports externally.</p>
<p>To able to access the reports externally, do the steps as mentioned below:</p>
<p><strong>1. Create Virtual Directory in IIS 7.0 :</strong></p>
<p><img class="alignnone size-full wp-image-68" title="Configure Reporting Services with IIS 7" src="http://tejasnshah.wordpress.com/files/2009/01/9.jpg" alt="Configure Reporting Services with IIS 7" width="246" height="302" /></p>
<p><strong>2.</strong> Go to <strong>Handler Mappings</strong> :</p>
<p><img class="alignnone size-full wp-image-69" title="Configure Reporting Services with IIS 7.0" src="http://tejasnshah.wordpress.com/files/2009/01/10.jpg" alt="Configure Reporting Services with IIS 7.0" width="500" height="334" /></p>
<p><strong>3.</strong> <strong>Double Click on &#8220;Handler Mapping&#8221;.</strong> You will get screen like the given below:</p>
<p><img class="alignnone size-full wp-image-70" title="Configure Reporting Service with IIS 7.0" src="http://tejasnshah.wordpress.com/files/2009/01/11.jpg" alt="Configure Reporting Service with IIS 7.0" width="500" height="143" /></p>
<p><strong>4.</strong> Now see Top Right Corner: Click On &#8220;Add Managed Handler&#8221;. Here you need to fill up the info like:</p>
<p><img class="alignnone size-full wp-image-71" title="Configure Reporting Services with IIS 7.0" src="http://tejasnshah.wordpress.com/files/2009/01/12.jpg" alt="Configure Reporting Services with IIS 7.0" width="396" height="325" /></p>
<p><strong>Fill this info as:</strong></p>
<p>Request path:      <strong>Reserved.ReportViewerWebControl.axd</strong><br />
Type:                    <strong>Microsoft.Reporting.WebForms.HttpHandler</strong><br />
Name:                  <strong>Reserved-ReportViewerWebControl-axd</strong></p>
<p>Thats it. Now try with External IP.</p>
<p>You can access the reports with  External IP too.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Developing a Module Using .NET : Runtime Extensibility : Extending IIS 7.0]]></title>
<link>http://tuanva.wordpress.com/2008/12/29/developing-a-module-using-net-runtime-extensibility-extending-iis-70/</link>
<pubDate>Mon, 29 Dec 2008 10:42:19 +0000</pubDate>
<dc:creator>tuanva</dc:creator>
<guid>http://tuanva.wordpress.com/2008/12/29/developing-a-module-using-net-runtime-extensibility-extending-iis-70/</guid>
<description><![CDATA[Introduction IIS 7.0 allows for extending the server by modules which are developed in two ways: Usi]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><h2>Introduction</h2>
<p>IIS 7.0 allows for extending the server by modules which are developed in two ways:</p>
<ul>
<li>Using managed code, and the ASP.NET server extensibility APIs</li>
<li>Using native code, and the IIS 7.0 native server extensibility APIs</li>
</ul>
<p>In the past, ASP.NET modules were limited in functionality, as the ASP.NET request processing pipeline was separate from the main server request pipeline.</p>
<p>In IIS 7.0, managed modules become virtually as powerful as native modules with the Integrated Pipeline architecture. Most important, the services that managed modules provide can now be applied to all requests to the server, not just to requests to ASP.NET content like ASPX pages. Managed modules are configured and managed in a consistent manner with native modules, and can execute in the same processing stages and orderings as native modules. Finally, managed modules can perform a wider set of operations to manipulate request processing via several added and enhanced ASP.NET APIs.</p>
<p>This article illustrates extending the server with a managed module in order to add the ability to perform basic authentication against an arbitrary credential store, such as the provider-based credential infrastructure in the ASP.NET 2.0 Membership system.</p>
<p>This allows replacing the built in basic authentication support in IIS 7.0, which is tied to the Windows credential store, with one that supports arbitrary credential stores, or any of the existing Membership providers shipped with ASP.NET 2.0 like SQL Server, SQL Express, or Active Directory.</p>
<p>This article examines the following tasks:</p>
<ul>
<li>Developing a managed module using ASP.NET APIs</li>
<li>Deploying a managed module on the server</li>
</ul>
<p>To learn more about the basics of developing IIS 7.0 modules and handlers, see <a href="http://mvolo.com/blogs/serverside/archive/2007/08/15/Developing-IIS7-web-server-features-with-the-.NET-framework.aspx">Developing IIS7 modules and handlers with the .NET framework</a>.</p>
<p>You can also find lots of resources and tips on writing IIS 7.0 modules on the blog, <a href="http://www.mvolo.com/">http://www.mvolo.com/</a>, as well as download existing IIS 7.0 modules for your applications. For some examples, see <a href="http://mvolo.com/blogs/serverside/pages/Redirect-requests-to-your-application-with-the-HttpRedirection-module.aspx">Redirecting requests to your application with the HttpRedirection module</a>,  <a href="http://mvolo.com/blogs/serverside/archive/2007/01/21/Get-nice-looking-directory-listings-for-your-IIS-website-with-DirectoryListingModule.aspx">Nice looking directory listings for your IIS website with DirectoryListingModule</a>, <a href="http://mvolo.com/blogs/serverside/archive/2007/01/11/Display-pretty-file-icons-in-your-ASP.NET-applications-with-IconHandler.aspx">Displaying pretty file icons in your ASP.NET applications with IconHandler</a>, and <a href="http://mvolo.com/blogs/serverside/archive/2006/11/10/Stopping-hot_2D00_linking-with-IIS-and-ASP.NET.aspx">Stopping hot-linking with IIS and ASP.NET</a>.</p>
<p><strong>Note</strong>: The code provided in this article is written in C#.</p>
<h2>Prerequisites</h2>
<p>To follow the steps in this document, you must have the following IIS features installed:</p>
<h3>ASP.NET</h3>
<p>Install ASP.NET via the Windows Vista Control Panel. Select &#8220;Programs&#8221; &#8211; &#8220;Turn on or off Windows features&#8221;. Then open &#8220;Internet Information Services&#8221; &#8211; &#8220;World Wide Web Services&#8221; &#8211; &#8220;Application Development Features&#8221; and check &#8220;ASP.NET&#8221;.</p>
<p>If you have a Windows Server® 2008 build, open &#8220;Server Manager&#8221; &#8211; &#8220;Roles&#8221;<span style="color:#cc0000;"> </span>and select &#8220;Web Server (IIS)&#8221;. Click &#8220;Add role services&#8221;. Under &#8220;Application Development&#8221; check &#8220;ASP.NET&#8221;.</p>
<h3>Background Information on Basic Authentication</h3>
<p>Basic authentication is an authentication scheme defined in the HTTP.1 protocol (<a href="http://www.faqs.org/rfcs/rfc2617.html">RFC 2617</a>). It uses a standard challenge-based mechanism that works as follows at a high level:</p>
<ul>
<li>Browser makes request to a URL with no credentials</li>
<li>If the server requires authentication for that URL, it responds with a 401 Access Denied message, and includes a header that indicates that the basic authentication scheme is supported</li>
<li>Browser receives the response, and if configured, will prompt the user for a username/password that it will include in plain text inside a request header for the next request to the URL</li>
<li>Server receives the username / password inside a header, and uses them for authentication</li>
</ul>
<p><strong>Note</strong>: While a detailed discussion of this authentication protocol is outside the scope of this article, its worth mentioning that the basic authentication scheme requires SSL to be secure, as it sends the username/password in plain text.</p>
<p>IIS 7.0 and previous releases include support for basic authentication against the Windows accounts stored in the local account store or Active Directory for domain accounts. We want to enable our user to authenticate using basic authentication, but to validate credentials using ASP.NET 2.0 <a href="http://www.asp.net/QUICKSTART/aspnet/doc/security/default.aspx" target="_new">Membership</a> service instead. This gives the freedom to store user information in a variety of existing Membership providers, such as SQL server, without being tied to Windows accounts.</p>
<h2>Task 1: Developing a Module using .NET</h2>
<p>In this task, we examine the development of an authentication module that supports the HTTP.1 basic authentication scheme. This module was developed using the standard ASP.NET module pattern available since ASP.NET v1.0. This same pattern is used to build ASP.NET modules that extend the IIS 7.0 server. In fact, existing ASP.NET modules written for previous versions of IIS can be used on IIS 7.0, and take advantage of better ASP.NET integration to provide more power to the web applications which use them.</p>
<p><strong>Note</strong>: The full code for the module is provided in Appendix A.</p>
<p>A managed module is a .NET class that implements the <strong>System.Web.IHttpModule</strong> interface. The primary function of this class is to register for one or more events that occur within IIS 7.0 request processing pipeline, and then perform some useful work when IIS 7.0 invokes the module&#8217;s event handlers for those events.</p>
<p>Lets create a new source file named &#8220;BasicAuthenticationModule.cs&#8221;, and create the module class (the complete source code is provided in Appendix A):</p>
<p>public class BasicAuthenticationModule : System.Web.IHttpModule<br />
{<br />
void Init(HttpApplication context)<br />
{<br />
}<br />
void Dispose()<br />
{<br />
}<br />
}The primary function of the <strong>Init</strong> method is wiring the module&#8217;s event handler methods to the appropriate request pipeline events. The module&#8217;s class provides the event handle methods, and they implement the desired functionality provided by the module. This is discussed further in detail.</p>
<p>The <strong>Dispose</strong> method is used to clean up any module state when the module instance is discarded. It is typically not implemented unless the module uses specific resources that require to be released.</p>
<h3>Init()</h3>
<p>After creating the class, the next step is to implement the <strong>Init</strong> method. The only requirement is to register the module for one or more request pipeline events. Wire up module methods, which follow the System.EventHandler delegate signature, to the desired pipeline events exposed on the provided System.Web.HttpApplication instance:</p>
<p>public void Init(HttpApplication context)<br />
{<br />
//<br />
// Subscribe to the authenticate event to perform the<br />
// authentication.<br />
//<br />
context.AuthenticateRequest += new<br />
EventHandler(this.AuthenticateUser);</p>
<p>//<br />
// Subscribe to the EndRequest event to issue the<br />
// challenge if necessary.<br />
//<br />
context.EndRequest += new<br />
EventHandler(this.IssueAuthenticationChallenge);<br />
}<br />
The <strong>AuthenticateUser</strong> method is invoked on every request during the <strong>AuthenticateRequest</strong> event. We utilize it to authenticate the user based on the credential information present in the request.</p>
<p>The <strong>IssueAuthenticationChallenge</strong> method is invoked on every request during the <strong>EndRequest</strong> event. It is responsible for issuing a basic authentication challenge back to the client whenever the authorization module rejects a request, and authentication is needed.</p>
<h3>AuthenticateUser()</h3>
<p>Implement the <strong>AuthenticateUser</strong> method. This method does the following:</p>
<ul>
<li>Extract the basic credentials if present from the incoming request headers. To see the implementation of this step, see the <strong>ExtractBasicAuthenticationCredentials</strong> utility method.</li>
<li>Attempts to validate the provided credentials via Membership (using the default membership provider configured). To see the implementation of this step, see the <strong>ValidateCredentials</strong> utility method.</li>
<li>Creates a user principal identifying the user if the authentication is successful, and associates it with the request.</li>
</ul>
<p>At the end of this processing, if the module was successfully able to obtain and validate the user credentials, it will produce an authenticated user principal that other modules and application code later use in access control decisions. For example, the URL authorization module examines the user in the next pipeline event in order to enforce the authorization rules configured by the application.</p>
<h3>IssueAuthenticationChallenge()</h3>
<p>Implement the <strong>IssueAuthenticationChallenge</strong> method. This method does the following:</p>
<ul>
<li>Check the response status code to determine whether this request was rejected.</li>
<li>If so, issue a basic authentication challenge header to the response to trigger the client to authenticate.</li>
</ul>
<h2>Utility Methods</h2>
<p>Implement the utility methods that the module uses, including:</p>
<ul>
<li><strong>ExtractBasicAuthenticationCredentials</strong>. This method extracts the basic authentication credentials from the Authorize request header, as specified in the basic authentication scheme.</li>
<li><strong>ValidateCredentials</strong>. This method attempts to validate user credentials by using Membership. The Membership API abstracts the underlying credential store, and allows the credential store implementations to be configured by adding / removing Membership providers through configuration.</li>
</ul>
<p><strong>Note</strong>: In this sample, the Membership validation is commented out, and instead the module simply checks whether the username and password are both equal to the string &#8220;test&#8221;. This is done for clarity, and is not intended for production deployments. You are invited to enable Membership-based credential validation by simply un-commenting the Membership code inside ValidateCredentials, and configuring a Membership provider for your application. See Appendix C for more information.</p>
<h2>Task 2: Deploy the module to the application</h2>
<p>After creating the module in the first task, we next add it to the application.</p>
<h3>Deploy to Application</h3>
<p>First, deploy the module to the application. Here, you have several options:</p>
<ul>
<li>Copy the source file containing the module into the <strong>/App_Code</strong> directory of the application. This does not require compiling the module &#8211; ASP.NET automatically compiles and loads the module type when the application starts up. Simply save this source code as BasicAuthenticationModule.cs inside the /App_Code directory of your application. Do this if you do not feel comfortable with the other steps.</li>
<li>
<div>Compile the module into an assembly, and drop this assembly in the <strong>/BIN</strong> directory of the application. This is the most typical option if you only want this module to be available to this application, and you do not want to ship the source of the module with your application. Compile the module source file by running the following from a command line prompt:</p>
<p><strong>&#60;PATH_TO_FX_SDK&#62;csc.exe /out:BasicAuthenticationModule.dll /target:library BasicAuthenticationModule.cs</strong></div>
<p>Where &#60;PATH_TO_FX_SDK&#62; is the path to the .NET Framework SDK that contains the CSC.EXE compiler.</li>
<li>Compile the module into a strongly named assembly, and register this assembly in the GAC. This is a good option if you want multiple applications on your machine to use this module. To learn more about building strongly named assemblies, see this <a href="http://msdn2.microsoft.com/en-us/library/xwb8f617%28VS.80%29.aspx">MSDN article</a> .</li>
</ul>
<p>Before making configuration changes in the application&#8217;s web.config file, we must unlock some of the configuration sections that are locked at the server level by default. Run the following from an Elevated command prompt (Start &#62; Right click on Cmd.exe and choose &#8220;Run as Administrator&#8221;):</p>
<p>%windir%system32inetsrvAPPCMD.EXE unlock config /section:windowsAuthentication<br />
%windir%system32inetsrvAPPCMD.EXE unlock config /section:anonymousAuthentication<br />
After running these commands, you will be able to define these configuration sections in your application&#8217;s web.config file.</p>
<p>Configure your module to run in the application. Start by creating a new web.config file, which will contain the configuration necessary to enable and use the new module. Start by adding the text below and saving it to the root of your application (%systemdrive%inetpubwwwrootweb.config if using the root application in the Default Web Site).</p>
<p>&#60;configuration&#62;<br />
&#60;system.webServer&#62;<br />
&#60;modules&#62;<br />
&#60;/modules&#62;<br />
&#60;security&#62;<br />
&#60;authentication&#62;<br />
&#60;windowsAuthentication enabled=&#8221;false&#8221;/&#62;<br />
&#60;anonymousAuthentication enabled=&#8221;false&#8221;/&#62;<br />
&#60;/authentication&#62;<br />
&#60;/security&#62;<br />
&#60;/system.webServer&#62;<br />
&#60;/configuration&#62;<br />
Before enabling the new basic authentication module, disable all the other IIS 7.0 authentication modules. By default, only Windows authentication and anonymous authentication are enabled. Because we do not want the browser to attempt authenticating with your Windows credentials or allow anonymous users, we disable both the Windows Authentication module and the Anonymous authentication module.</p>
<p>Now enable the module by adding it to the list of modules loaded by our application. Open web.config once again and add the entry inside to the &#60;modules&#62; tag</p>
<p>&#60;add name=&#8221;MyBasicAuthenticationModule&#8221; type=&#8221;IIS7Demos.BasicAuthenticationModule&#8221; /&#62; You can also deploy the module by using either the IIS 7.0 Administration Tool, or the APPCMD.EXE command line tool.</p>
<p>The final contents of the application&#8217;s web.config file after these changes are provided in Appendix B.</p>
<p>Congratulations, you have finished configuring the custom basic authentication module.</p>
<p>Let&#8217;s try it! Open Internet Explorer, and make a request to the application at the following URL:</p>
<p><a href="http://localhost/"><strong><em>http://localhost/</em></strong></a><strong><em> </em></strong></p>
<p>You should see the basic authentication login dialog. Enter &#8220;test&#8221; in the &#8220;User name:&#8221; field and &#8220;test&#8221; in the &#8220;Password:&#8221; field to get access. Note that if you copy HTML, JPG, or any other content to your application, they too will be protected by your new BasicAuthenticationModule.</p>
<h2>Summary</h2>
<p>In this article, you learned how to develop and deploy a custom managed module for an application, and enable that module to provide services for all requests to the application.</p>
<p>You also witnessed the power of developing server components in managed code. This allowed developing a basic authentication service that is decoupled from the Windows credential storage.</p>
<p>If you are adventurous, configure this module to leverage the power of the ASP.NET 2.0 Membership application services to support pluggable credential stores. See Appendix C for more information.</p>
<p>Find many resources and tips on writing IIS 7.0 modules in the blog, <a href="http://www.mvolo.com/">http://www.mvolo.com/</a>, as well as download existing IIS 7.0 modules for your applications. For some examples, see <a href="http://mvolo.com/blogs/serverside/pages/Redirect-requests-to-your-application-with-the-HttpRedirection-module.aspx">Redirecting requests to your application with the HttpRedirection module</a>,  <a href="http://mvolo.com/blogs/serverside/archive/2007/01/21/Get-nice-looking-directory-listings-for-your-IIS-website-with-DirectoryListingModule.aspx">Nice looking directory listings for your IIS website with DirectoryListingModule</a>, <a href="http://mvolo.com/blogs/serverside/archive/2007/01/11/Display-pretty-file-icons-in-your-ASP.NET-applications-with-IconHandler.aspx">Displaying pretty file icons in your ASP.NET applications with IconHandler</a>, and <a href="http://mvolo.com/blogs/serverside/archive/2006/11/10/Stopping-hot_2D00_linking-with-IIS-and-ASP.NET.aspx">Stopping hot-linking with IIS and ASP.NET</a>.</p>
<h2>Appendix A: Basic Authentication Module Source Code</h2>
<p>Save this source code as BasicAuthenticationModule.cs inside the /App_Code directory to quickly deploy it to your application.</p>
<p><strong>NOTE: </strong>If you are using Notepad, make sure to set Save As: All Files to avoid saving the file as BasicAuthenticationModule.cs.txt.</p>
<p>#region Using directives<br />
using System;<br />
using System.Collections;<br />
using System.Text;<br />
using System.Web;<br />
using System.Web.Security;<br />
using System.Security.Principal;<br />
using System.IO;<br />
#endregion</p>
<p>namespace IIS7Demos<br />
{<br />
///<br />
/// This module performs basic authentication.<br />
/// For details on basic authentication see RFC 2617.<br />
///<br />
/// The basic operational flow is:<br />
///<br />
///     On AuthenticateRequest:<br />
///         extract the basic authentication credentials<br />
///         verify the credentials<br />
///         if succesfull, create the user principal with these credentials<br />
///<br />
///     On SendResponseHeaders:<br />
///         if the request is being rejected with an unauthorized status code (401),<br />
///         add the basic authentication challenge to trigger basic authentication.<br />
///<br />
///</p>
<p>public class BasicAuthenticationModule : IHttpModule<br />
{<br />
#region member declarations<br />
public const String     HttpAuthorizationHeader = &#8220;Authorization&#8221;;  // HTTP1.1 Authorization header<br />
public const String     HttpBasicSchemeName = &#8220;Basic&#8221;; // HTTP1.1 Basic Challenge Scheme Name<br />
public const Char       HttpCredentialSeparator = &#8216;:&#8217;; // HTTP1.1 Credential username and password separator<br />
public const int        HttpNotAuthorizedStatusCode = 401; // HTTP1.1 Not authorized response status code<br />
public const String     HttpWWWAuthenticateHeader = &#8220;WWW-Authenticate&#8221;; // HTTP1.1 Basic Challenge Scheme Name<br />
public const String     Realm = &#8220;demo&#8221;; // HTTP.1.1 Basic Challenge Realm<br />
#endregion</p>
<p>#region Main Event Processing Callbacks<br />
public void AuthenticateUser(Object source, EventArgs e)<br />
{<br />
HttpApplication application = (HttpApplication)source;<br />
HttpContext context = application.Context;<br />
String userName = null;<br />
String password = null;<br />
String realm = null;<br />
String authorizationHeader = context.Request.Headers[HttpAuthorizationHeader];</p>
<p>//<br />
//  Extract the basic authentication credentials from the request<br />
//<br />
if (!ExtractBasicCredentials(authorizationHeader, ref userName, ref password))<br />
return;<br />
//<br />
// Validate the user credentials<br />
//<br />
if (!ValidateCredentials(userName, password, realm))<br />
return;</p>
<p>//<br />
// Create the user principal and associate it with the request<br />
//<br />
context.User = new GenericPrincipal(new GenericIdentity(userName), null);<br />
}</p>
<p>public void IssueAuthenticationChallenge(Object source, EventArgs e)<br />
{<br />
HttpApplication application = (HttpApplication)source;<br />
HttpContext context = application.Context;</p>
<p>//<br />
// Issue a basic challenge if necessary<br />
//</p>
<p>if (context.Response.StatusCode == HttpNotAuthorizedStatusCode)<br />
{<br />
context.Response.AddHeader(HttpWWWAuthenticateHeader, &#8220;Basic realm =&#8221;" + Realm + &#8220;&#8221;");<br />
}<br />
}<br />
#endregion</p>
<p>#region Utility Methods<br />
protected virtual bool ValidateCredentials(String userName, String password, String realm)<br />
{<br />
//<br />
//  Validate the credentials using Membership (refault provider)<br />
//<br />
// NOTE: Membership is commented out for clarity reasons.<br />
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br />
// WARNING: DO NOT USE THE CODE BELOW IN PRODUCTION<br />
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br />
// return Membership.ValidateUser(userName, password);<br />
if (userName.Equals(&#8220;test&#8221;) &#38;&#38; password.Equals(&#8220;test&#8221;))<br />
{<br />
return true;<br />
}<br />
else<br />
{<br />
return false;<br />
}<br />
}</p>
<p>protected virtual bool ExtractBasicCredentials(String authorizationHeader, ref String username, ref String password)<br />
{<br />
if ((authorizationHeader == null) &#124;&#124; (authorizationHeader.Equals(String.Empty)))<br />
return false;<br />
String verifiedAuthorizationHeader = authorizationHeader.Trim();<br />
if (verifiedAuthorizationHeader.IndexOf(HttpBasicSchemeName) != 0)<br />
return false;</p>
<p>// get the credential payload<br />
verifiedAuthorizationHeader = verifiedAuthorizationHeader.Substring(HttpBasicSchemeName.Length, verifiedAuthorizationHeader.Length &#8211; HttpBasicSchemeName.Length).Trim();<br />
// decode the base 64 encoded credential payload<br />
byte[] credentialBase64DecodedArray = Convert.FromBase64String(verifiedAuthorizationHeader);<br />
UTF8Encoding encoding = new UTF8Encoding();<br />
String decodedAuthorizationHeader = encoding.GetString(credentialBase64DecodedArray, 0, credentialBase64DecodedArray.Length);</p>
<p>// get the username, password, and realm<br />
int separatorPosition = decodedAuthorizationHeader.IndexOf(HttpCredentialSeparator);</p>
<p>if (separatorPosition &#60;= 0)<br />
return false;<br />
username = decodedAuthorizationHeader.Substring(0, separatorPosition).Trim();<br />
password = decodedAuthorizationHeader.Substring(separatorPosition + 1, (decodedAuthorizationHeader.Length &#8211; separatorPosition &#8211; 1)).Trim();</p>
<p>if (username.Equals(String.Empty) &#124;&#124; password.Equals(String.Empty))<br />
return false;</p>
<p>return true;<br />
}<br />
#endregion</p>
<p>#region IHttpModule Members<br />
public void Init(HttpApplication context)<br />
{<br />
//<br />
// Subscribe to the authenticate event to perform the<br />
// authentication.<br />
//<br />
context.AuthenticateRequest += new<br />
EventHandler(this.AuthenticateUser);<br />
//<br />
// Subscribe to the EndRequest event to issue the<br />
// challenge if necessary.<br />
//<br />
context.EndRequest += new<br />
EventHandler(this.IssueAuthenticationChallenge);<br />
}<br />
public void Dispose()<br />
{<br />
//<br />
// Do nothing here<br />
//<br />
}<br />
#endregion</p>
<p>}<br />
}</p>
<h2>Appendix B: Web.config for Basic Auth Module</h2>
<p>Save this configuration as web.config file in the root of your application:</p>
<p>&#60;configuration&#62;<br />
&#60;system.webServer&#62;<br />
&#60;modules&#62;<br />
&#60;add name=&#8221;MyBasicAuthenticationModule&#8221; type=&#8221;IIS7Demos.BasicAuthenticationModule&#8221; /&#62;<br />
&#60;/modules&#62;<br />
&#60;security&#62;<br />
&#60;authentication&#62;<br />
&#60;windowsAuthentication enabled=&#8221;false&#8221;/&#62;<br />
&#60;anonymousAuthentication enabled=&#8221;false&#8221;/&#62;<br />
&#60;/authentication&#62;<br />
&#60;/security&#62;<br />
&#60;/system.webServer&#62;<br />
&#60;/configuration&#62; </p>
<h2>Appendix C: Configuring Membership</h2>
<p>The ASP.NET 2.0 Membership service enables applications to quickly implement credential validation and user management required by most authentication and access control schemes. Membership isolates the application code from the actual credential store implementation, and provides a number of options for integrating with existing credential stores.</p>
<p>To take advantage of Membership for this module sample, uncomment a call to Membership.ValidateUser inside the ValidateCredentials method, and configure a Membership provider for your application. You can learn more about configuring Membership in this <a href="http://msdn2.microsoft.com/en-us/library/6e9y4s5t%28VS.80%29.aspx">MSDN article</a>.</p>
<p style="text-align:right;"><a href="http://learn.iis.net/page.aspx/170/developing-a-module-using-net/">The Official Microsoft IIS Site</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Exemplo de envio de mensagem com o CDOSYS]]></title>
<link>http://rolfboard.wordpress.com/2008/10/15/exemplo-de-envio-de-mensagem-com-o-cdosys/</link>
<pubDate>Wed, 15 Oct 2008 13:34:05 +0000</pubDate>
<dc:creator>rolfboard</dc:creator>
<guid>http://rolfboard.wordpress.com/2008/10/15/exemplo-de-envio-de-mensagem-com-o-cdosys/</guid>
<description><![CDATA[Este artigo demonstra de maneira simples e rápida como enviar uma mensagem usando o CDOSYS, modifica]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Este artigo demonstra de maneira simples e rápida como enviar uma mensagem usando o CDOSYS, modificando o host para envio de e-mail, o remetente, o destinatário e por fim o texto no corpo do e-mail&#8230;.</p>
<p>Observações:</p>
<p>mail.exemplo.com = Servidor smtp que será usado para envio da mensagem</p>
<p>destino@exemplo.com = Endereço de e-mail que será alcançado pela mensagem</p>
<p>origem@exemplo.com = Endereço de e-mail autorizado pelo servidor SMTP para envio deste mensagem</p>
<p>Subject = Título do E-mail</p>
<p>HTMLBody= Texto que vai no corpo do e-mail</p>
<p>&#8216;&#8212;</p>
<p>&#8216;Cria Objetos<br />
Dim objMessage, objConfig<br />
Set objMessage = Server.createObject(&#8220;CDO.Message&#8221;)<br />
Set objConfig = Server.createObject(&#8220;CDO.Configuration&#8221;)</p>
<p>&#8216;Cria Configuração<br />
with objConfig.Fields<br />
.Item(&#8220;http://schemas.microsoft.com/cdo/configuration/sendusing&#8221;) = 2<br />
.Item(&#8220;http://schemas.microsoft.com/cdo/configuration/smtpserver&#8221;) = &#8220;mail.exemplo.com&#8221;<br />
.Item(&#8220;http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout&#8221;) = 10<br />
.Update()<br />
End with</p>
<p>&#8216;Envia E-mail<br />
with objMessage<br />
.Configuration = objConfig<br />
.to = &#8220;destino@exemplo.com&#8221;<br />
.From = &#8220;origem@exemplo.com&#8221;<br />
.Subject = &#8220;E-mail de teste&#8221;<br />
.HTMLBody = &#8220;E-mail de teste com CDOSYS&#8221;<br />
.Send()<br />
End with</p>
<p>&#8216;Destroi objetos<br />
Set objMessage = Nothing<br />
Set objConfig = Nothing</p>
<p>[]´s</p>
<p>RolfBoard</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Unable to bind to the underlying transport for x.x.x.x]]></title>
<link>http://rolfboard.wordpress.com/2008/10/14/unable-to-bind-to-the-underlying-transport-for-xxxx/</link>
<pubDate>Tue, 14 Oct 2008 11:47:44 +0000</pubDate>
<dc:creator>rolfboard</dc:creator>
<guid>http://rolfboard.wordpress.com/2008/10/14/unable-to-bind-to-the-underlying-transport-for-xxxx/</guid>
<description><![CDATA[Erro: Unable to bind to the underlying transport for x.x.x.x. The IP Listen-Only list may contain a ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Erro:</p>
<p style="text-align:center;">Unable to bind to the underlying transport for x.x.x.x. The IP Listen-Only list may contain a reference to an interface which may not exist on this machine.  The data field contains the error number.</p>
<p style="text-align:center;">
<p style="text-align:left;">Este erro ocorre normalmente quando uma interface, ou o ip do server em questão foi alterado, prejudicando o controle do bind que gravou em registro este dado e não conseguiu dinâmicamente alterar. Este erro também é comum em casos de 2 aplicações que tentam fazer bind no mesmo serviço, exemplo um Apache com um IIS na mesma máquina.. veja isso é um exemplo&#8230;</p>
<p style="text-align:left;">Para que volte ao normal é necessário forçar o bind usando o httpcfg, uma ferramenta de edição do http.sys, que controla a lista de ip´s permitidos no bind.</p>
<ul>
<li>Primeiro execute a remoção do ip ou dos ip´s antigos da máquina com o seguinte comando:</li>
</ul>
<p style="text-align:left;">httpcfg delete iplisten -i x.x.x.x, onde &#8220;x&#8221; é o endereço antigo</p>
<ul>
<li>Depois adicione o endereço &#8220;0.0.0.0&#8243;, significando de qualquer origem para qualquer destino</li>
</ul>
<p style="text-align:left;">httpcfg set iplisten -i 0.0.0.0</p>
<p style="text-align:left;">Após este procedimento, execute os seguintes comandos:</p>
<p style="text-align:left;">net stop http</p>
<p style="text-align:left;">net start http</p>
<p style="text-align:left;">iisreset</p>
<p style="text-align:left;">
<p style="text-align:left;">Verifique se a porta desejada subiu corretamente através do comando:</p>
<p style="text-align:left;">netstat -na &#124; findstr 80</p>
<p style="text-align:left;">
<p style="text-align:left;">
<p style="text-align:left;">[]´s</p>
<p style="text-align:left;">Rodolfo</p>
<p style="text-align:left;">
<p style="text-align:left;">
<p style="text-align:left;">
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hosting a WCF Service in IIS 7.0]]></title>
<link>http://kiranpatils.wordpress.com/2008/09/29/hosting-a-wcf-service-in-iis-70/</link>
<pubDate>Mon, 29 Sep 2008 06:46:53 +0000</pubDate>
<dc:creator>kiranpatils</dc:creator>
<guid>http://kiranpatils.wordpress.com/2008/09/29/hosting-a-wcf-service-in-iis-70/</guid>
<description><![CDATA[If you would like to deploy your WCF Service within following environment: Windows Server 2008 IIS 7]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><!--[if gte mso 9]&#62; Normal   0         false   false   false                             MicrosoftInternetExplorer4 &#60;![endif]--><!--[if gte mso 9]&#62; &#60;![endif]--><!--  --><!--[if gte mso 10]&#62; &#60;!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} --> <!--[endif]--></p>
<p>If you would like to deploy your WCF Service within following environment:</p>
<ol type="1">
<li>Windows Server 2008</li>
<li>IIS 7.0</li>
</ol>
<p>Or <strong>facing following Error:</strong></p>
<p>Server Error in Application &#8220;DEFAULT WEB SITE/ EmployeeService &#8220;Internet Information Services 7.0</p>
<p>Error Summary</p>
<p>HTTP Error 404.3 &#8211; Not Found</p>
<p>The page you are requesting cannot be served because of the extension configuration. If the page is a script, add a handler. If the file should be downloaded, add a MIME map. Detailed Error InformationModule StaticFileModule</p>
<p>Notification ExecuteRequestHandler</p>
<p>Handler StaticFile</p>
<p>Error Code 0&#215;80070032</p>
<p>Requested URL http://localhost:80/EmployeeService/ EmployeeService.svc</p>
<p>Physical Path</p>
<p>C:\inetpub\wwwroot\Pepperio.Net.Services\/EmployeeService \EmployeeService.svc</p>
<p>Logon Method Anonymous</p>
<p>Logon User Anonymous</p>
<p>Most likely causes:</p>
<p>It is possible that a handler mapping is missing. By default, the static file handler processes all content.</p>
<p>The feature you are trying to use may not be installed.</p>
<p>The appropriate MIME map is not enabled for the Web site or application. (Warning: Do not create a MIME map for content that users should not download, such as .ASPX pages or .config files.)</p>
<p>If ASP.NET is not installed.</p>
<p>Things you can try:</p>
<p>In system.webServer/handlers:</p>
<p>Ensure that the expected handler for the current page is mapped.</p>
<p>Pay extra attention to preconditions (for example, runtimeVersion, pipelineMode, bitness) and compare them to the settings for your application pool.</p>
<p>Pay extra attention to typographical errors in the expected handler line.</p>
<p>Please verify that the feature you are trying to use is installed.</p>
<p>Verify that the MIME map is enabled or add the MIME map for the Web site using the command-line tool appcmd.exe.</p>
<p>To set a MIME type, use the following syntax: %SystemRoot%\windows\system32\inetsrv\appcmd set config /section:staticContent /+[fileExtension='string',mimeType='string']</p>
<p>The variable fileExtension string is the file name extension and the variable mimeType string is the file type description.</p>
<p>For example, to add a MIME map for a file which has the extension &#8220;.xyz&#8221;: appcmd set config /section:staticContent /+[fileExtension='.xyz',mimeType='text/plain']</p>
<p>Warning: Ensure that this MIME mapping is needed for your Web server before adding it to the list. Configuration files such as .CONFIG or dynamic scripting pages such as .ASP or .ASPX, should not be downloaded directly and should always be processed through a handler. Other files such as database files or those used to store configuration, like .XML or .MDF, are sometimes used to store configuration information. Determine if clients can download these file types before enabling them.</p>
<p>Install ASP.NET.</p>
<p>Create a tracing rule to track failed requests for this HTTP status code. For more information about creating a tracing rule for failed requests, click here.</p>
<p>And looking some work around for it then this article for you&#8230;..go ahead&#8230;</p>
<p><span style="color:#0000ff;">For deploying WCF you need to do one way from the following one:</span></p>
<ol type="1">
<li><span style="color:#0000ff;">You have to run <strong>servicemodelreg -i</strong> as an      administrator using VS 2008 Command prompt (you can find it in      &#60;WINDOWSDRIVE&#62;:\Windows\WinFx\v3.0\Windows Communication      Foundation).</span></li>
</ol>
<p><span style="color:#0000ff;">Credit goes to: <a href="http://www.u2u.info/Blogs/Peter/Lists/Posts/Post.aspx?ID=151">http://www.u2u.info/Blogs/Peter/Lists/Posts/Post.aspx?ID=151</a></span></p>
<p><span style="color:#0000ff;">2. If you want to do it from scratch&#8230;just follow this article:</span></p>
<p><span style="color:#0000ff;"><a href="http://blah.winsmarts.com/2008-4-Host_a_WCF_Service_in_IIS_7_-and-amp;_Windows_2008_-_The_right_way.aspx" target="_self">http://blah.winsmarts.com/2008-4-Host_a_WCF_Service_in_IIS_7_-and-amp;_Windows_2008_-_The_right_way.aspx</a></span></p>
<p>That&#8217;s it&#8230;</p>
<p>Let me know if you face some problem&#8230;may be i can help..</p>
<p>-Kiran</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Issue in hosting WCF service at IIS 7.0]]></title>
<link>http://pohsze.net/2008/09/16/issue-in-hosting-wcf-service-at-iis-70/</link>
<pubDate>Tue, 16 Sep 2008 09:41:54 +0000</pubDate>
<dc:creator>pohsze</dc:creator>
<guid>http://pohsze.net/2008/09/16/issue-in-hosting-wcf-service-at-iis-70/</guid>
<description><![CDATA[I encountered an issue in hosting WCF service in IIS 7.0, VIsta. I was getting this error page, sayi]]></description>
<content:encoded><![CDATA[I encountered an issue in hosting WCF service in IIS 7.0, VIsta. I was getting this error page, sayi]]></content:encoded>
</item>
<item>
<title><![CDATA[Making XAMPP (Apache) work with IIS on Windows XP/Vista]]></title>
<link>http://blog.wolffmyren.com/2008/07/30/making-xampp-apache-work-with-iis-on-windows-xpvista/</link>
<pubDate>Wed, 30 Jul 2008 21:35:07 +0000</pubDate>
<dc:creator>willwm</dc:creator>
<guid>http://blog.wolffmyren.com/2008/07/30/making-xampp-apache-work-with-iis-on-windows-xpvista/</guid>
<description><![CDATA[Update: This application will help you track down which applications are using which ports on Window]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>Update:</strong> This application will help you track down which applications are using which ports on Windows &#8211; very helpful for debugging if the steps below don&#8217;t solve your problem, or if IIS is not the only application answering on port 80: <a href="http://winnetstat.zapto.org/">http://winnetstat.zapto.org/</a></p>
<p>Also, if you don&#8217;t specifically need all the features of <a href="http://www.apachefriends.org/en/xampp-windows.html">XAMPP</a>, but would like to run PHP/MySQL applications through IIS, give <a href="http://www.microsoft.com/web/Downloads/platform.aspx">Web Platform Installer</a> a try. Through WPI, you can choose to install PHP directly within IIS (so that IIS can serve both ASP.NET and PHP applications on port 80, for example) and you can also have a ton of applications installed and configured automatically for you, such as Drupal, WordPress, and Moodle (among many others). However, if you are still looking to run XAMPP specifically, or just run an Apache instance along with IIS, check out the instructions below. Thanks for visiting!</p>
<p><!--more--><strong>Original Post:</strong></p>
<p><iframe src='http://digg.com/api/diggthis.php?u=http%3A%2F%2Fdigg.com%2Fsoftware%2FMaking_XAMPP_Apache_work_with_IIS_on_Windows_XP_Vista' height='82' width='55' frameborder='0' scrolling='no' style='float: right; margin-left: 10px; margin-bottom: 5px; padding: 4px 0 2px 4px; background: #fff;'></iframe> Found out the hard way that the default <a href="http://www.apachefriends.org/en/xampp-windows.html">XAMPP install for Windows</a> will attempt to install Apache as a service configured to run on Port 80 (no surprise, and probably good default behavior). But, if you&#8217;re like me, and have IIS already installed and running, for whatever reason, you&#8217;ll probably want to configure XAMPP to run Apache on a different port.</p>
<p>I initially tried merely modifying the httpd.conf file located (on my system) at C:\xampp\apache\conf, but the service would still not run. So, through a bit of searching on the interwebs, I found out what exactly needs to be changed to allow XAMPP to co-exist with IIS configured to run on Port 80, and Apache (in my case) to run on Port 8080 (and SSL running on Port 4499):</p>
<p>C:\xampp\apache\conf\httpd.conf:</p>
<ul>
<li>Search for &#8220;Listen 80&#8243;, change to &#8220;Listen 8080&#8243;</li>
<li>Search for &#8220;ServerName localhost:80&#8243;, change to &#8220;ServerName localhost:8080&#8243;</li>
</ul>
<p>C:\xampp\apache\conf\extra\httpd-ssl.conf</p>
<ul>
<li>Search for &#8220;Listen 443&#8243;, change to &#8220;Listen 4499&#8243;</li>
<li>Search for &#8220;&#60;VirtualHost _default_:443&#62;&#8221;, change to &#8220;&#60;VirtualHost _default_:4499&#62;&#8221;</li>
<li>Search for &#8220;ServerName localhost:443&#8243;, change to &#8220;ServerName localhost:4499&#8243;</li>
</ul>
<p>Then, you should be able to start Apache successfully through the XAMPP control panel.</p>
<p>Let me know if this works for you; I&#8217;m just starting to mess with <a href="http://www.apachefriends.org/en/xampp-windows.html">XAMPP on Windows</a> (I&#8217;ve been using it on Linux for a while).</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Difference between IIS 6.0 and IIS 7.0 Part 1 of 2]]></title>
<link>http://jaszeer.wordpress.com/2008/07/14/difference-between-iis-60-and-iis-70/</link>
<pubDate>Mon, 14 Jul 2008 19:35:00 +0000</pubDate>
<dc:creator>jaszeermohammed</dc:creator>
<guid>http://jaszeer.wordpress.com/2008/07/14/difference-between-iis-60-and-iis-70/</guid>
<description><![CDATA[Performance A good metric listed below is the “efficiency” or “cost” of the number of requests per C]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>Performance </strong></p>
<p><span style="font-size:x-small;font-family:Calibri;">A good metric listed below is the “efficiency” or “cost” of the number of requests per CPU cycle (RPS / CPU Utilization %). <span> </span>Using this metric, <strong>IIS 7.0/W2K8 RTM is <span style="text-decoration:underline;">over 10%</span> more efficient then IIS 6.0/WS03 SP2</strong>in handling live web platform traffic for the site</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">Listed below the graphical data results is the methodology used in this performance analysis.</span></span></p>
<table class="MsoNormalTable" style="width:531.75pt;border-collapse:collapse;margin:auto auto auto -1.15pt;" border="0" cellspacing="0" cellpadding="0" width="709">
<tbody>
<tr style="height:15pt;">
<td style="background:#4f81bd;width:284.25pt;height:15pt;border:black 1pt solid;padding:0 5.4pt;" width="379" valign="top">
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;">Performance Metrics</span></span></strong></p>
</td>
<td style="border-right:black 1pt solid;border-top:black 1pt solid;border-left-color:#f0f0f0;background:#4f81bd;width:81pt;border-bottom:black 1pt solid;height:15pt;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;">W2K3 SP2</span></span></strong></p>
</td>
<td style="border-right:black 1pt solid;border-top:black 1pt solid;border-left-color:#f0f0f0;background:#4f81bd;width:81pt;border-bottom:black 1pt solid;height:15pt;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;">WS2K8 RTM</span></span></strong></p>
</td>
<td style="border-right:black 1pt solid;border-top:black 1pt solid;border-left-color:#f0f0f0;background:#4f81bd;width:85.5pt;border-bottom:black 1pt solid;height:15pt;padding:0 5.4pt;" width="114" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;">Change</span></span></strong></p>
</td>
</tr>
<tr style="height:15pt;">
<td style="border-right:black 1pt solid;border-left:black 1pt solid;width:284.25pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="379" valign="top">
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">RPS / CPU Utilization (%) = <span> </span>Requests per CPU Cycle</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">4.36</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">4.84</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:85.5pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="114" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><strong><span style="font-size:9pt;color:#00b050;"><span style="font-family:Calibri;">10.9%</span></span></strong></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></strong></p>
<table class="MsoNormalTable" style="width:531.75pt;border-collapse:collapse;margin:auto auto auto -1.15pt;" border="0" cellspacing="0" cellpadding="0" width="709">
<tbody>
<tr style="height:15pt;">
<td style="border-right:black 1pt solid;border-top:black 1pt solid;background:#4f81bd;border-bottom-color:#f0f0f0;border-left:black 1pt solid;width:284.25pt;height:15pt;padding:0 5.4pt;" width="379" valign="top">
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;"> </span></span></strong></p>
</td>
<td style="border-right:black 1pt solid;border-top:black 1pt solid;border-left-color:#f0f0f0;background:#4f81bd;border-bottom-color:#f0f0f0;width:81pt;height:15pt;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;">W2K3 SP2</span></span></strong></p>
</td>
<td style="border-right:black 1pt solid;border-top:black 1pt solid;border-left-color:#f0f0f0;background:#4f81bd;border-bottom-color:#f0f0f0;width:81pt;height:15pt;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;">W2K8 RTM</span></span></strong></p>
</td>
<td style="border-right:black 1pt solid;border-top:black 1pt solid;border-left-color:#f0f0f0;background:#4f81bd;border-bottom-color:#f0f0f0;width:85.5pt;height:15pt;padding:0 5.4pt;" width="114" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;">Change</span></span></strong></p>
</td>
</tr>
<tr style="height:15pt;">
<td style="border-right:black 1pt solid;background:#4f81bd;border-left:black 1pt solid;width:284.25pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;padding:0 5.4pt;" width="379" valign="top">
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;">Performance Indicators</span></span></strong></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;background:#4f81bd;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;">A</span></span></strong></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;background:#4f81bd;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;">B</span></span></strong></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;background:#4f81bd;width:85.5pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;padding:0 5.4pt;" width="114" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;">(A-B)/A</span></span></strong></p>
</td>
</tr>
<tr style="height:15pt;">
<td style="border-right:black 1pt solid;border-left:black 1pt solid;width:284.25pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="379" valign="top">
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">CPU Utilization (%)</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">44.8%</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">52.8%</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:85.5pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="114" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><strong><span style="font-size:9pt;color:#ff0000;"><span style="font-family:Calibri;">-17.9%</span></span></strong></p>
</td>
</tr>
<tr style="height:15pt;">
<td style="border-right:black 1pt solid;border-left:black 1pt solid;width:284.25pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="379" valign="top">
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">Web Service -Total Methods Requests/Sec “RPS”</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">194</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">255</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:85.5pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="114" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><strong><span style="font-size:9pt;color:#00b050;"><span style="font-family:Calibri;">31.4%</span></span></strong></p>
</td>
</tr>
<tr style="height:15pt;">
<td style="border-right:black 1pt solid;border-left:black 1pt solid;width:284.25pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="379" valign="top">
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">Web Service – Current Connections</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">280</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">294</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:85.5pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="114" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;">5.0%</span></span></strong></p>
</td>
</tr>
<tr style="height:15pt;">
<td style="border-right:black 1pt solid;border-left:black 1pt solid;width:284.25pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="379" valign="top">
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">Load Balancing – <span style="color:#000000;"><span> </span>Current Client Connections</span></span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">116</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">116</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:85.5pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="114" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;">0 </span></span></strong></p>
</td>
</tr>
<tr style="height:15pt;">
<td style="border-right:black 1pt solid;border-left:black 1pt solid;width:284.25pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="379" valign="top">
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">.NET CLR Memory – % Time in GC</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">1.1%</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">2.5%</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:85.5pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="114" valign="top"> </td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></strong></p>
<p><strong></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;">Server Efficiency (RPS/ CPU %) – Efficiency of serving live web platform traffic</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#c00000;">W2K3 SP2</span></strong><span style="font-size:9pt;color:#e36c0a;"><span>    </span><span> </span></span><span style="font-size:9pt;">4.36<span>   </span>“<span style="color:#000000;">requests per CPU cycle”</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#244061;">W2K8 RTM</span></strong><span style="font-size:9pt;"><span>  </span><span> </span>4.84<span>   </span><strong>~ <span style="color:#00b050;">10.9%</span></strong><span style="color:#00b050;"> </span>increased efficiency <strong></strong></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong></strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;"> <img style="width:425px;height:232px;" src="http://blogs.technet.com/photos/mscom/images/3068380/425x232.aspx" alt="SRV Efficiency" width="425" height="232" /></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;">CPU Utilization (%)</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#c00000;">W2K3 SP2</span></strong><span style="font-size:9pt;color:#e36c0a;"><span>     </span></span><span style="font-size:9pt;">44.8%</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#244061;">W2K8 RTM</span></strong><span style="font-size:9pt;"><span>   </span>52.8%<span>   </span><strong>~ <span style="color:#ff0000;">17.9%</span> degradation (This is impacted by the increased RPS the W2K8 servers are handling)</strong></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong></strong></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> <img style="width:425px;height:245px;" src="http://blogs.technet.com/photos/mscom/images/3068390/425x245.aspx" alt="CPU Utilization" width="425" height="245" /></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;">Web Service – Total Methods Requests/Sec (RPS)</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#c00000;">W2K3 SP2</span></strong><span style="font-size:9pt;color:#e36c0a;"><span>    </span><span> </span></span><span style="font-size:9pt;">194</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#244061;">W2K8 RTM</span></strong><span style="font-size:9pt;"><span>    </span><span style="color:#000000;">255<span>  </span><span> </span></span><strong>~ <span style="color:#00b050;">31.4%</span> more traffic is being sent to the W2K8 RTM servers</strong></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong></strong></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> <img style="width:425px;height:254px;" src="http://blogs.technet.com/photos/mscom/images/3068392/425x254.aspx" alt="Web Svc Total Methods" width="425" height="254" /></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;">Web Service – Current Connections</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#c00000;">W2K3 SP2</span></strong><span style="font-size:9pt;color:#e36c0a;"><span>    </span><span> </span></span><span style="font-size:9pt;">280</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#244061;">W2K8 RTM</span></strong><span style="font-size:9pt;"><span>  </span><span> </span><span style="color:#000000;">294<span>  </span><span> </span></span><strong>~ 5% increase</strong></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong></strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;"> <img style="width:425px;height:232px;" src="http://blogs.technet.com/photos/mscom/images/3068393/425x232.aspx" alt="WEBSvc Current Connections" width="425" height="232" /></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></strong><strong><span style="font-size:9pt;"><span style="font-family:Calibri;">Load Balancing – Current Client Connections</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#c00000;">W2K3 SP2</span></strong><span style="font-size:9pt;color:#e36c0a;"><span>    </span><span> </span></span><span style="font-size:9pt;">116</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#244061;">W2K8 RTM</span></strong><span style="font-size:9pt;"><span>   </span><span style="color:#000000;">116<span>  </span><span> </span></span><strong>Equal – as the hardware load balancer maintains the same amount of outstanding open client connections.</strong></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong></strong><span style="font-size:9pt;"><span> <img style="width:425px;height:232px;" src="http://blogs.technet.com/photos/mscom/images/3068394/425x241.aspx" alt="HW Load Balancing" width="425" height="232" /></span></span></span><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;">.NET CLR Memory – % Time in GC</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#c00000;">W2K3 SP2</span></strong><span style="font-size:9pt;color:#e36c0a;"><span>   </span><span> </span></span><span style="font-size:9pt;">1.1%</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#244061;">W2K8 RTM</span></strong><span style="font-size:9pt;"><span>   </span><span style="color:#000000;">2.5%<span>  </span></span><strong>No significant degradation in “Time in GC”</strong></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong></strong></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"><img style="width:425px;height:232px;" src="http://blogs.technet.com/photos/mscom/images/3068395/425x232.aspx" alt=".Net CLR Memory" width="425" height="232" /> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;">Performance Overview and methodology:</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="text-decoration:underline;"><span style="font-size:9pt;">Site:</span></span><span style="font-size:9pt;"> </span></span><a href="http://www.microsoft.com/"><span style="font-size:9pt;"><span style="color:#0000ff;font-family:Calibri;">www.microsoft.com</span></span></a><span style="font-size:9pt;"><span style="font-family:Calibri;">  </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">During this assessment the live </span></span><a href="http://www.microsoft.com/"><span style="font-size:9pt;color:windowtext;text-decoration:none;"><span style="font-family:Calibri;">www.microsoft.com</span></span></a><span style="font-size:9pt;"><span style="font-family:Calibri;"> site was comprised on 80 servers. <span> </span>There were four load balanced clusters of twenty servers each, located in multiple datacenters.<span>  </span>This performance analysis was developed by using a single twenty server cluster on the </span></span><a href="http://www.microsoft.com/"><span style="font-size:9pt;color:windowtext;text-decoration:none;"><span style="font-family:Calibri;">www.microsoft.com</span></span></a><span style="font-size:9pt;"><span style="font-family:Calibri;"> site. <span> </span>The cluster is comprised of 19 Windows Server 2008 RTM servers (W2K8 RTM) and a single Windows Server 2003 SP2 (W2K3 SP2) server all taking live internet facing traffic.<span>  </span>This Lone Windows Server 2003 has become quite famous.<span>  </span>In fact, he actually has his own blog located at </span></span><a href="http://blogs.technet.com/windowsserver/pages/about-lone-server.aspx"><span style="font-size:9pt;"><span style="color:#0000ff;font-family:Calibri;">http://blogs.technet.com/windowsserver/pages/about-lone-server.aspx</span></span></a></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="text-decoration:underline;"><span style="font-size:9pt;">Hardware:</span></span><span style="font-size:9pt;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"><span>  </span>Model: HP DL585 G1 (4 dual-core CPUs)</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"><span> </span><span> </span>RAM: 32GB </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></p>
<p><strong></strong></p>
<p><strong></strong></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span><span style="font-family:Calibri;">AppPool Mode’s in IIS 7.0</p>
<p></span></span></p>
<p class="MsoListParagraphCxSpFirst" style="text-indent:-0.25in;line-height:normal;margin:0 0 0 0.5in;"><span style="font-size:9pt;font-family:Symbol;"><span>·<span style="font-family:'Times New Roman';">         </span></span></span><span style="font-size:9pt;"><span style="font-family:Calibri;">Integrated mode[ASp.NET]</span></span></p>
<p class="MsoListParagraphCxSpLast" style="text-indent:-0.25in;line-height:normal;margin:0 0 0 0.5in;"><span style="font-size:9pt;font-family:Symbol;"><span>·<span style="font-family:'Times New Roman';">         </span></span></span><span style="font-size:9pt;"><span style="font-family:Calibri;">Classic .NET AppPool</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">In Previous versions of IIS, the Session of ASP wasnt accessible to ASP.nET. the reason behind in IIS 6 there were two different ISAP dlls[aspnet_ISAPI.dll and asp.dll] for ASP and ASP.NET so they couldnt share the Session and Application objects</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">Solution : was we can force the asp extension to use ASP.NET handler in IIS 6.0 </span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">This is default feature in  IIS 7.0, which is known as Integrated mode</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><br />
<span style="font-family:Calibri;">Migrating the Application Configuration<br />
If you simply move the application to IIS7.0 server. it runs this below command.</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">if you want to disable and not have to run the application<br />
add this to application web.config file<br />
&#60;system.webServer&#62;<br />
&#60;validation validateIntegratedModeConfiguration=&#8221;false&#8221; /&#62;   <br />
&#60;/system.webServer</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">Command to run the ASP.NET application under IIS 7.0 Integration mode</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">%windir%\system32\inetsrv\APPCMD.EXE migrate config &#60;Application Path&#62;</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">Where &#60;Application Path&#62; is the virtual path of the application containing the site name, such as &#8220;Default Web Site/app1&#8243;.</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><br />
<span style="font-family:Calibri;">Moving Back to Classic ASP.NET integration Mode</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">configure your application pool to run under Classic mode</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">Selecting ASP.NET Version for an Application </span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">ASP.NET v1.1 application on /app1:<br />
ASP.NET v2.0 application on /app2:&#8217;</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">Unfortunately, due to the limitation of the ability to load only one CLR version into a single worker process</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span><span style="font-family:Calibri;">Taking Advantage of Integrated ASP.NET Mode<br />
Your ASP.NET application should be using those components which make use of this feature.</span></span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Imparare IIS 7.0]]></title>
<link>http://pythonyan.wordpress.com/2008/07/10/imparare-iis-70/</link>
<pubDate>Thu, 10 Jul 2008 10:36:08 +0000</pubDate>
<dc:creator>pythonyan</dc:creator>
<guid>http://pythonyan.wordpress.com/2008/07/10/imparare-iis-70/</guid>
<description><![CDATA[Ai seguenti link si possono iniziare a intravedere le nuove potenzialità del nuovo application serve]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Ai seguenti link si possono iniziare a intravedere le nuove potenzialità del nuovo application server della Microsoft, per ora mi  segno solo l&#8217;<a href="http://learn.iis.net/page.aspx/489/using-the-application-request-routing-module/">Application Request Routing</a> e L&#8217;<a href="http://learn.iis.net/page.aspx/460/using-url-rewrite-module/">Url Rewriting</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft: IIS 7.0 Manager (Vista / XP)]]></title>
<link>http://ict-freak.nl/2008/07/02/microsoft-iis-70-manager-vista-xp/</link>
<pubDate>Wed, 02 Jul 2008 08:03:53 +0000</pubDate>
<dc:creator>afokkema</dc:creator>
<guid>http://ict-freak.nl/2008/07/02/microsoft-iis-70-manager-vista-xp/</guid>
<description><![CDATA[Download de software hier:&#160; inetmgr Supported Operating Systems: Windows Server 2003 Service Pa]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img src="http://ictfreak.files.wordpress.com/2008/07/iislogothumb-thumb.jpg?w=248&#38;h=157" /> </p>
<p>Download de software hier:&#160; <a href="http://www.microsoft.com/downloads/details.aspx?familyid=32C54C37-7530-4FC0-BD20-177A3E5330B7&#38;displaylang=en">inetmgr</a></p>
<blockquote><p>Supported Operating Systems: Windows Server 2003 Service Pack 1; Windows Vista Service Pack 1; Windows XP Service Pack 2</p>
<ul>
<li>You must have the Microsoft .NET Framework version 2.0 or greater installed.        </li>
<li>If you are installing on Windows Vista:        <br />You must have Windows Vista Service Pack 1 beta installed         <br />You must have the Internet Information Services 7.0 Management Console installed.        </li>
<li>If you are installing on Windows XP:        <br />You must have Windows XP Service Pack 2 installed         <br />If you are installing on Windows Server 2003:         <br />You must have Windows Server 2003 Service Pack 1 installed</li>
</ul>
</blockquote>
<p>Zodra je de software hebt gedownload en je PC voldoet aan de bovenstaande voorwaarden, kun je de IIS 7.0 manager installeren.</p>
<p><a href="http://ictfreak.files.wordpress.com/2008/07/image8.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="389" alt="image" src="http://ictfreak.files.wordpress.com/2008/07/image-thumb8.png" width="503" border="0" /></a> </p>
<p>Daarna hoef je alleen nog maar verbinding te maken met de iis server, site of application.</p>
<p><a href="http://ictfreak.files.wordpress.com/2008/07/image9.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="371" alt="image" src="http://ictfreak.files.wordpress.com/2008/07/image-thumb9.png" width="644" border="0" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft: FTP Service for IIS 7.0]]></title>
<link>http://ict-freak.nl/2008/07/01/microsoft-ftp-service-for-iis-70/</link>
<pubDate>Tue, 01 Jul 2008 21:55:55 +0000</pubDate>
<dc:creator>afokkema</dc:creator>
<guid>http://ict-freak.nl/2008/07/01/microsoft-ftp-service-for-iis-70/</guid>
<description><![CDATA[&#160; Microsoft has created a new FTP service that has been completely rewritten for Windows Server]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>&#160;<a href="http://ictfreak.files.wordpress.com/2008/07/iislogothumb.jpg"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="157" alt="iis-logo-thumb" src="http://ictfreak.files.wordpress.com/2008/07/iislogothumb-thumb.jpg?w=248&#038;h=157" width="248" border="0" /></a> </p>
<blockquote><p>Microsoft has created a new FTP service that has been completely rewritten for Windows Server 2008. This new FTP service incorporates many new features that enable web authors to publish content better than before, and offers web administrators more security and deployment options. This new FTP service supports a wide range of features and improvements, and the following list contains several of the improvements in this version:</p>
<ul>
<li><b>Integration with IIS 7.0</b>: IIS 7.0 has a brand-new administration interface and configuration store, and the new FTP service is tightly integrated with this new design. The old IIS 6 metabase is gone, and a new configuration store that is based on the .NET XML-based *.config format has taken its place. In addition, IIS 7.0 has a new administration tool, and the new FTP server plugs seamlessly into that paradigm.</li>
<li><b>Support for new Internet standards</b>: One of the most significant features in the new FTP server is support for FTP over SSL. The new FTP server also supports other Internet improvements such as UTF8, IPv6, and adaptive networking bandwidth usage.</li>
<li><b>Shared hosting improvements</b>: By fully integrating into IIS 7.0, the new FTP server makes it possible to host FTP and Web content from the same site by simply adding an FTP binding to an existing Web site. In addition, the FTP server now has virtual host name support, making it possible to host multiple FTP sites on the same IP address. The new FTP server also has improved user isolation, now making it possible to isolate users through per-user virtual directories.</li>
<li><b>Extensibility and custom authentication</b>: The new FTP server supports developer extensibility, making it possible for software vendors to write custom providers for FTP authentication. Microsoft is using this extensibility feature to implement two new methods for using non-Windows accounts for FTP authentication for IIS Managers and .NET Membership.</li>
<li><b>Improved logging support</b>: FTP logging has been enhanced to include all FTP-related traffic, unique tracking for FTP sessions, FTP sub-statuses, additional detail fields in FTP logs, and much more.</li>
<li><b>New supportability features</b>: IIS 7.0 has a new option to display detailed error messages for local users, and the FTP server supports this by providing detailed error responses when logging on locally to an FTP server. The FTP server also logs detailed information using Event Tracing for Windows (ETW), which provides additional detailed information for troubleshooting.</li>
</ul>
</blockquote>
<p>Download hier de FTP Service for IIS 7.0: </p>
<ul>
<li>32 Bit: <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2eccf14a-5c4f-4cfb-9153-cfe1204b346a&#38;DisplayLang=en">ftp7_x86_rtw.msi</a></li>
<li>64 Bit: <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=584cacf6-78f1-47df-90d7-9cd87b358712&#38;DisplayLang=en">ftp7_x64_rtw.msi</a></li>
</ul>
<p> Zodra de software binnen is, kan er worden begonnen met de installatie. Dit is gewoon recht toe recht aan “next, next en finish”. </p>
<p><a href="http://ictfreak.files.wordpress.com/2008/07/image.png"><img style="border-width:0;" height="403" alt="image" src="http://ictfreak.files.wordpress.com/2008/07/image-thumb.png?w=517&#038;h=403" width="517" border="0" /></a> </p>
<p> Hier kun je nog wat features kiezen.</p>
<p><a href="http://ictfreak.files.wordpress.com/2008/07/image1.png"><img style="border-width:0;" height="405" alt="image" src="http://ictfreak.files.wordpress.com/2008/07/image-thumb1.png?w=519&#038;h=405" width="519" border="0" /></a> </p>
<p> Mocht je de “oude” FTP server al geïnstalleerd hebben staan dan moet je deze verwijderen. Wat ik wel jammer vind is dat hij dit pas aan het einde van de wizard aangeeft.</p>
<p><a href="http://ictfreak.files.wordpress.com/2008/07/image2.png"><img style="border-width:0;" height="169" alt="image" src="http://ictfreak.files.wordpress.com/2008/07/image-thumb2.png?w=412&#038;h=169" width="412" border="0" /></a> </p>
</p>
</p>
<p> Open de ServerManager en klik op Roles. Scroll naar de IIS role en klik op Remove Role Services.</p>
<p><a href="http://ictfreak.files.wordpress.com/2008/07/image3.png"><img style="border-width:0;" height="395" alt="image" src="http://ictfreak.files.wordpress.com/2008/07/image-thumb3.png?w=644&#038;h=395" width="644" border="0" /></a> </p>
<p> Haal het vinkje weg bij FTP Publishing Service.</p>
<p><a href="http://ictfreak.files.wordpress.com/2008/07/image4.png"><img style="border-width:0;" height="383" alt="image" src="http://ictfreak.files.wordpress.com/2008/07/image-thumb4.png?w=644&#038;h=383" width="644" border="0" /></a> </p>
</p>
<p> Even opnieuw opstarten en je kunt de installatie wizard opnieuw starten.</p>
<p><a href="http://ictfreak.files.wordpress.com/2008/07/image5.png"><img style="border-width:0;" height="206" alt="image" src="http://ictfreak.files.wordpress.com/2008/07/image-thumb5.png?w=644&#038;h=206" width="644" border="0" /></a> </p>
<p> Nadat de wizard klaar is kun je deze sluiten.</p>
<p><a href="http://ictfreak.files.wordpress.com/2008/07/image6.png"><img style="border-width:0;" height="398" alt="image" src="http://ictfreak.files.wordpress.com/2008/07/image-thumb6.png?w=513&#038;h=398" width="513" border="0" /></a></p>
<p>Als je vervolgens de Servermanager start en naar de IIS tab gaat, zie je dat er een aantal nieuwe mogelijkheden zijn. </p>
<p><a href="http://ictfreak.files.wordpress.com/2008/07/image7.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="394" alt="image" src="http://ictfreak.files.wordpress.com/2008/07/image-thumb7.png?w=644&#038;h=394" width="644" border="0" /></a> </p>
</p>
</p>
</p>
</p>
</p>
</p>
</p>
</p>
</p>
<p>Jammer dat de FTP Service voor IIS 7.0 niet in de final release van Windows Server 2008 is verwerkt.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[You receive a "Service Unavailable" error message when you browse an IIS 6.0 Web page on a Windows Server 2003-based domain controller]]></title>
<link>http://rolfboard.wordpress.com/2008/04/10/you-receive-a-service-unavailable-error-message-when-you-browse-an-iis-60-web-page-on-a-windows-server-2003-based-domain-controller/</link>
<pubDate>Thu, 10 Apr 2008 18:17:21 +0000</pubDate>
<dc:creator>rolfboard</dc:creator>
<guid>http://rolfboard.wordpress.com/2008/04/10/you-receive-a-service-unavailable-error-message-when-you-browse-an-iis-60-web-page-on-a-windows-server-2003-based-domain-controller/</guid>
<description><![CDATA[Erros encontrados no Log de eventos para este problema: Event Type: Message Event Source: Active Ser]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Erros encontrados no Log de eventos para este problema:</p>
<p><em>Event Type: Message<br />
Event Source: Active Server Pages<br />
Event Category: None<br />
Event ID: 5<br />
Date: Date<br />
Time: Time<br />
User: N/A<br />
Computer: Computer_Name<br />
Description:<br />
Error: The Template Persistent Cache initialization failed for Application Pool &#8216;Application_Pool_Name&#8217; because of the following error: Could not create a Disk Cache Sub-directory for the Application Pool. The data may have additional error codes</em></p>
<p>&#8212;&#8212;&#8212;&#8212;-</p>
<p><em>Event Type: Warning<br />
Event Source: W3SVC<br />
Event Category: None<br />
Event ID: 1009<br />
Date: Date<br />
Time: Time<br />
User: N/A<br />
Computer: Computer_Name<br />
Description:<br />
A process serving application pool &#8216;Application_Pool_Name&#8217; terminated unexpectedly. The process id was &#8216;5288&#8242;. The process exit code was &#8216;0xffffffff&#8217;</em></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>Estes erros ocorrem normalmente quando um membro de domínio é promovido para controlador de domínio, durante o processo de instalação as permissões do %systemroot% são reiniciadas e reordenadas .</p>
<p>Para contornar este problema será necessário setar manualmente as permissões dos seguintes diretórios:</p>
<p>• systemroot\Help\IISHelp\Common<br />
• systemroot\System32\Inetsrv\ASP Compiled Templates<br />
• systemroot\IIS Temporary Compressed Files</p>
<p>Da seguinte forma:</p>
<p>%systemroot%\Help\IISHelp</p>
<p>Para este diretório adicione o grupo IIS_WPG, e coloque as seguintes permissões:</p>
<p>- Read and Execute<br />
- List Folder Contents<br />
- Read</p>
<p>%systemroot%\system32\inetsrv</p>
<p>Para este diretório adicione o grupo IIS_WPG, e coloque a seguinte permissão:</p>
<p>- Full Control</p>
<p>%systemroot%</p>
<p>Para este diretório adicione o grupo IIS_WPG, e coloque a seguinte permissão:</p>
<p>- Full Control</p>
<p>%systemroot%\Help\iishelp</p>
<p>Para este diretório adicione o grupo IIS_WPG, e coloque as seguintes permissões:</p>
<p>- Read and Execute<br />
- List Folder Contents<br />
- Read</p>
<p><strong>obs.: Procure evitar a replicação de objetos (herança) durante o processo de configuração a não ser que você tenha certeza do que está fazendo, se não todo o  trabalho acima será  em vão e outros problemas surgirão em seu Server.</strong></p>
<p>Realizado todos estes passos, realize um restart do seu webserver e verifique nos logs, após navegação do conteúdo, se o problema persiste.</p>
<p>Segue link com um artigo da microsoft contendo informações a respeito de um problema similar.</p>
<p>http://support.microsoft.com/kb/332097/</p>
<p>that&#8217;s all&#8230;</p>
<p>Rodolfo</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Template para Envio de E-mail usando o Smtp local do IIS]]></title>
<link>http://rolfboard.wordpress.com/2008/04/08/template-para-envio-de-e-mail-usando-o-smtp-local-do-iis/</link>
<pubDate>Tue, 08 Apr 2008 19:19:28 +0000</pubDate>
<dc:creator>rolfboard</dc:creator>
<guid>http://rolfboard.wordpress.com/2008/04/08/template-para-envio-de-e-mail-usando-o-smtp-local-do-iis/</guid>
<description><![CDATA[&#8216;*********************************************************************************************]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>&#8216;******************************************************************************************************************************<br />
&#8216;*** Script Name: sendmail.vbs<br />
&#8216;*** Criado e Revisado por Rodolfo Angelino Rodrigues<br />
&#8216;*** Data:  08/04/2008<br />
&#8216;******************************************************************************************************************************</p>
<p>Option Explicit<br />
On Error Resume Next</p>
<p>Dim objSendMail, oArgs, ArgNum<br />
Dim strTo, strFrom, strSubject, strBody</p>
<p>Set oArgs = WScript.Arguments<br />
ArgNum = 0</p>
<p>While ArgNum &#60; oArgs.Count<br />
Select Case LCase(oArgs(ArgNum))<br />
Case &#8220;-to&#8221;,&#8221;-t&#8221;:<br />
ArgNum = ArgNum + 1<br />
strTo = oArgs(ArgNum)<br />
Case &#8220;-from&#8221;,&#8221;-f&#8221;:<br />
ArgNum = ArgNum + 1<br />
strFrom = oArgs(ArgNum)<br />
Case &#8220;-subject&#8221;,&#8221;-s&#8221;:<br />
ArgNum = ArgNum + 1<br />
strSubject = oArgs(ArgNum)<br />
Case &#8220;-body&#8221;,&#8221;-b&#8221;:<br />
ArgNum = ArgNum + 1<br />
strBody = oArgs(ArgNum)<br />
Case &#8220;-help&#8221;,&#8221;-?&#8221;:<br />
Call DisplayUsage<br />
Case Else:<br />
Call DisplayUsage<br />
End Select<br />
ArgNum = ArgNum + 1<br />
Wend</p>
<p>If oArgs.Count=0 Or strTo=&#8221;" Or strFrom=&#8221;" Or _<br />
strSubject=&#8221;" Or strBody=&#8221;" Then<br />
Call DisplayUsage<br />
Else<br />
Set objSendMail = CreateObject(&#8220;CDONTS.NewMail&#8221;)<br />
objSendMail.From = strFrom<br />
objSendMail.To = strTo<br />
objSendMail.Subject = strSubject<br />
objSendMail.Body = strBody<br />
objSendMail.BodyFormat = 0<br />
objSendMail.MailFormat = 0<br />
objSendMail.Send<br />
Set objSendMail = Nothing<br />
End If</p>
<p>&#8216;******************************************************************************************************************************<br />
&#8216;*** Mostra o uso em linha de comando do script<br />
&#8216;******************************************************************************************************************************<br />
Sub DisplayUsage<br />
WScript.Echo &#8220;Usage:&#8221;<br />
WScript.Echo &#8220;  sendmail -t &#60;to address&#62; -f &#60;from address&#62; -s &#8221; &#38; _<br />
Chr(34) &#38; &#8220;&#60;subject&#62;&#8221; &#38; Chr(34) &#38; &#8221; -b &#8221; &#38; Chr(34) &#38; _<br />
&#8220;&#60;message body&#62;&#8221; &#38; Chr(34)<br />
WScript.Echo &#8220;  sendmail [-help&#124;-?]&#8220;<br />
WScript.Echo &#8220;&#8221;<br />
WSCript.Quit<br />
End Sub<br />
&#8216;******************************************************************************************************************************</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft WebDAV Extensions for IIS 7.0]]></title>
<link>http://troubleshoot.wordpress.com/2008/03/13/microsoft-webdav-extensions-for-iis-70/</link>
<pubDate>Thu, 13 Mar 2008 10:57:12 +0000</pubDate>
<dc:creator>jro</dc:creator>
<guid>http://troubleshoot.wordpress.com/2008/03/13/microsoft-webdav-extensions-for-iis-70/</guid>
<description><![CDATA[WebDav-laajennukset IIS 7.0:n sallivat paremmat julkaisuominaisuudet verkkopalveluille. Nyt julkaist]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>WebDav-laajennukset IIS 7.0:n sallivat paremmat julkaisuominaisuudet verkkopalveluille. Nyt julkaistut laajennukset mahdollistavat saittikohtaisen käytön ja hallinnan IIS 7.0 ja Windows Server 2008 alustalla.</p>
<p>Lataa x86-versio: <a title="http://www.microsoft.com/downloads/details.aspx?FamilyID=036269fa-0040-4ccd-ad3d-78da1ee132fb&#38;DisplayLang=en" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=036269fa-0040-4ccd-ad3d-78da1ee132fb&#38;DisplayLang=en">http://www.microsoft.com/downloads/details.aspx?FamilyID=036269fa-0040-4ccd-ad3d-78da1ee132fb&#38;DisplayLang=en</a></p>
<p>Lataa x64-versio: <a title="http://www.microsoft.com/downloads/details.aspx?FamilyID=13e97aaa-fb1b-4cf8-b95f-19ae02321385&#38;DisplayLang=en" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=13e97aaa-fb1b-4cf8-b95f-19ae02321385&#38;DisplayLang=en">http://www.microsoft.com/downloads/details.aspx?FamilyID=13e97aaa-fb1b-4cf8-b95f-19ae02321385&#38;DisplayLang=en</a></p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
