<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.iis.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:cs="http://blogs.iis.net/"><channel><title>IIS7 - Extensibility</title><link>http://forums.iis.net/1042.aspx</link><description>Problems developing a IIS 7 module using Native or Managed code - come here for help from the experts.</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Add Virtual Directory to a Site</title><link>http://forums.iis.net/thread/1925141.aspx</link><pubDate>Tue, 17 Nov 2009 23:58:26 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1925141</guid><dc:creator>GalinaV</dc:creator><slash:comments>4</slash:comments><comments>http://forums.iis.net/thread/1925141.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1925141</wfw:commentRss><description>&lt;p style="MARGIN:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;IIS Server Manager allows to add virtual directory to a site. &lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;But Microsoft.Web.Administration.ServerManager&amp;nbsp;requires an application to add a virtual directory: Site -&amp;gt; Application -&amp;gt; VirtualDirectory.&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;Can you advise on how to add virtual directory to a site directly&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;(Site -&amp;gt;VirtualDirectory)&amp;nbsp;using C#?&amp;nbsp;&lt;/font&gt;&lt;/p&gt;&lt;font size="3" face="Calibri"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>VB.Net exception</title><link>http://forums.iis.net/thread/1925101.aspx</link><pubDate>Tue, 17 Nov 2009 18:54:46 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1925101</guid><dc:creator>garyattoro</dc:creator><slash:comments>1</slash:comments><comments>http://forums.iis.net/thread/1925101.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1925101</wfw:commentRss><description>I am developing a desktop application that sends an email using the computer&amp;#39;s smtp feature. I have installed IIS on the computer. Here is the code I&amp;#39;m working with:&amp;nbsp;&lt;font size="2"&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;mailMessage = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; MailMessage(fromMsg, toMsg, subject, body)&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;
&lt;p&gt;smtpClient = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SmtpClient(System.Environment.MachineName)&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;
&lt;p&gt;smtpClient.Send(mailMessage)&lt;/p&gt;
&lt;p&gt;It&amp;#39;s very basic code, nothing fancy. I get the following exception:&lt;/p&gt;
&lt;p&gt;2009-11-17 16:35:18 1428 System.Net.Mail.SmtpException: Failure sending mail. ---&amp;gt; System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---&amp;gt; System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)&lt;br /&gt;&amp;nbsp;&amp;nbsp; --- End of inner exception stack trace ---&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Net.DelegatedStream.Read(Byte[] buffer, Int32 offset, Int32 count)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Net.BufferedReadStream.Read(Byte[] buffer, Int32 offset, Int32 count)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Net.Mail.SmtpReplyReaderFactory.ReadLines(SmtpReplyReader caller, Boolean oneLine)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Net.Mail.SmtpReplyReaderFactory.ReadLine(SmtpReplyReader caller)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Net.Mail.SmtpConnection.GetConnection(String host, Int32 port)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Net.Mail.SmtpTransport.GetConnection(String host, Int32 port)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Net.Mail.SmtpClient.GetConnection()&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Net.Mail.SmtpClient.Send(MailMessage message)&lt;br /&gt;&amp;nbsp;&amp;nbsp; --- End of inner exception stack trace ---&lt;br /&gt;&amp;nbsp;&amp;nbsp; at System.Net.Mail.SmtpClient.Send(MailMessage message)&lt;br /&gt;&amp;nbsp;&amp;nbsp; at smtp.eMailGenerator.sendMailMessage(Int32 userNum)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;I am currently running Vista Business 32-bit. Any help would be greatly appreciated.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Thanks&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;</description></item><item><title>IIS 7.0 - Getting the Actual Bytes Transferred</title><link>http://forums.iis.net/thread/1920678.aspx</link><pubDate>Wed, 14 Oct 2009 08:55:03 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1920678</guid><dc:creator>skumar2003</dc:creator><slash:comments>2</slash:comments><comments>http://forums.iis.net/thread/1920678.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1920678</wfw:commentRss><description>&lt;p&gt;When sending large files and using the Transmit file method, is there a way to get the actual bytes transferred?&lt;/p&gt;
&lt;p&gt;Lets say a user is downloading a large file but then decides to abort the download, is it possible to figure out how many bytes were in fact transferred before the user aborted?&lt;/p&gt;</description></item><item><title>Exception on CommitChanges</title><link>http://forums.iis.net/thread/1895736.aspx</link><pubDate>Thu, 05 Mar 2009 13:18:17 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1895736</guid><dc:creator>owlex17</dc:creator><slash:comments>5</slash:comments><comments>http://forums.iis.net/thread/1895736.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1895736</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;I am getting an exception when I try to create a new site:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;System.IO.DirectoryNotFoundException was caught&lt;br /&gt;&amp;nbsp; Message=&amp;quot;Filename: \\\\?\\C:\\inetpub\\wwwroot\\vanuatu\\web.config\r\nError: Cannot write configuration file\r\n\r\n&amp;quot;&lt;br /&gt;&amp;nbsp; Source=&amp;quot;&amp;quot;&lt;br /&gt;&amp;nbsp; StackTrace:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at Microsoft.Web.Administration.Interop.AppHostWritableAdminManager.CommitChanges()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at Microsoft.Web.Administration.ConfigurationManager.CommitChanges()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at Microsoft.Web.Administration.ServerManager.CommitChanges()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at IISSevenTester.Program.Main(String[] args) in C:\Users\alemer\Documents\Visual Studio 2008\Projects\IISSevenTester\IISSevenTester\Program.cs:line 104&lt;br /&gt;&amp;nbsp; InnerException: &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;The directory is there, but I have a feeling it is possibly related to permissions. If so, where do I need to set permissions and how?&lt;/p&gt;&lt;p&gt;Thanks,&lt;/p&gt;&lt;p&gt;Alex &lt;br /&gt;&lt;/p&gt;</description></item><item><title>IIS ISAPI extension</title><link>http://forums.iis.net/thread/1924595.aspx</link><pubDate>Fri, 13 Nov 2009 08:15:29 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1924595</guid><dc:creator>dexterov2000</dc:creator><slash:comments>5</slash:comments><comments>http://forums.iis.net/thread/1924595.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1924595</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;Greetings!&lt;br /&gt;1. Whether there will be a difference in work of a server on the basis of Windows 7&lt;br /&gt;And Windows Server if on a server there is only one site?&lt;br /&gt;&lt;br /&gt;2. At me such problem. As on IIS 7.0 (Vista Ultimate) and on IIS 7.5 (Seven Ultimate).&lt;br /&gt;If more than 100 clients are connected to a site, all starts to brake very strongly (thus loading of the processor of 20 %, all files for sending are in a cache, loading of a line of transfer of 20 %). Even those who is with me in one network on 100 Mbit/s receive files very slowly.&lt;br /&gt;Asynchronous I/O it is carried out by default for the statistical&lt;br /&gt;Files?&lt;br /&gt;&lt;br /&gt;3. How to supervise number of streams (threads), clones of the appendix written as extension ISAPI? Value&lt;br /&gt;MaxPoolThreads in registry changes nothing. &lt;br /&gt;And if number of clones ISAPI extension = N.&lt;br /&gt;ISAPI extention contains function Function1 and function Function2. To function Function1 address simultaneously &lt;br /&gt;N+1 Clients. Then the inquiry to function Function2 will be put in turn or will be carried out?&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description></item><item><title>web application on IIS 7.0 ISAPI  has sustained more than 100 visitors for one minute?</title><link>http://forums.iis.net/thread/1924685.aspx</link><pubDate>Fri, 13 Nov 2009 20:39:39 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1924685</guid><dc:creator>dexterov2000</dc:creator><slash:comments>3</slash:comments><comments>http://forums.iis.net/thread/1924685.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1924685</wfw:commentRss><description>&lt;p&gt;&lt;br /&gt;If on a site of 100 clients - all simply flies.&lt;br /&gt;When on a site of 200 clients - all is braked.&lt;br /&gt;And brakes not in 2 times - and in 300 times.IIS 7.5 slow exponential of number visitors &lt;br /&gt;Memory a cache the processor communication - all in an excellent condition.&lt;br /&gt;CPU Usage 10% NetWork usaje 10%. &lt;br /&gt;OS IIS 7.5 Windows 7 Ultimate.&lt;br /&gt;The same was on IIS 7.0 Vista Ultimate.&lt;br /&gt;All options on default.&lt;br /&gt;Very simple ISAPI the appendix.&lt;br /&gt;www.pruncu.md.&lt;br /&gt;&lt;br /&gt;Parametre in regedit MaxPoolThreads and PoolThreadLimit in any way Do not operate. PerfMon shows only two streams.&lt;br /&gt;What to do?&lt;br /&gt;&lt;br /&gt;Is at someone at a forum web application on IIS 7.0 ISAPI or&lt;br /&gt;IIS 7.5 ISAPI that has sustained more than 200 visitors for one minute?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description></item><item><title>how do i register handler for the whole server?</title><link>http://forums.iis.net/thread/1924144.aspx</link><pubDate>Tue, 10 Nov 2009 21:36:25 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1924144</guid><dc:creator>merk</dc:creator><slash:comments>14</slash:comments><comments>http://forums.iis.net/thread/1924144.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1924144</wfw:commentRss><description>I&amp;#39;m looking at implementing a handler for pdf files to fix a bug in IIS7.5
I however dont want to implement this handler on a per-site basis since i want to apply to all sites. How can i register it so it goes into effect for all sites? I also want to do it this way since if MS ever comes out with a fix for this bug, i can just disable the global handler rather then going through each site.
&lt;br /&gt;&lt;br /&gt;
thanks</description></item><item><title>Create VDirectory in  IIS7 </title><link>http://forums.iis.net/thread/1878707.aspx</link><pubDate>Mon, 08 Sep 2008 08:48:05 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1878707</guid><dc:creator>satya.ambatipudi</dc:creator><slash:comments>5</slash:comments><comments>http://forums.iis.net/thread/1878707.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1878707</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;hi all,&lt;/p&gt;&lt;p&gt;i am working asp.netv 2005 and C# and vista is my OS.&lt;/p&gt;&lt;p&gt;i want to create the website and Virtual Directory in IIS7 using C# and asp.net.&lt;/p&gt;&lt;p&gt;i am tried the following code for creating Virtual Directory&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;string strSchema = &amp;quot;&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string strRootSubPath = &amp;quot;&amp;quot;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strSchema = &amp;quot;IIsWebVirtualDir&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strRootSubPath = &amp;quot;/W3SVC/1/Root&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DirectoryEntry deRoot = new DirectoryEntry(&amp;quot;IIS://localhost&amp;quot; + strRootSubPath);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DirectoryEntry deNewVDir = deRoot.Children.Add(txtname.Text, strSchema);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deNewVDir.Properties[&amp;quot;Path&amp;quot;].Insert(0, txtname.Text);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deNewVDir.CommitChanges();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deRoot.CommitChanges();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Create a Application&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (strSchema == &amp;quot;IIsWebVirtualDir&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deNewVDir.Invoke(&amp;quot;AppCreate&amp;quot;, true);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Save Changes&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deNewVDir.CommitChanges();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deRoot.CommitChanges();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deNewVDir.Close();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deRoot.Close(); &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;But its giving me errors&lt;/p&gt;&lt;p&gt;&lt;i&gt;Error when creating Virtual 
Directory:&lt;br /&gt;System.Runtime.InteropServices.COMException (0x80005000): Unknown 
error (0x80005000)&lt;br /&gt;&amp;nbsp;&amp;nbsp;at System.DirectoryServices.DirectoryEntry.Bind(Boolean 
throwIfFail)&lt;br /&gt;&amp;nbsp;&amp;nbsp;at System.DirectoryServices.DirectoryEntry.Bind()&lt;br /&gt;&amp;nbsp;&amp;nbsp;at 
System.DirectoryServices.DirectoryEntry.get_IsContainer()&lt;br /&gt;&amp;nbsp;&amp;nbsp;at 
System.DirectoryServices.DirectoryEntries.CheckIsContainer()&lt;br /&gt;&amp;nbsp;&amp;nbsp;at 
System.DirectoryServices.DirectoryEntries.Add(String name, String 
schemaClassName)&lt;br /&gt;&amp;nbsp;&amp;nbsp;at 
System.EnterpriseServices.Internal.IISVirtualRoot.Create(String RootWeb, String 
inPhysicalDirectory, String VirtualDirectory, String&amp;amp; Error)&lt;/i&gt;&amp;nbsp; &lt;/p&gt;&lt;p&gt;can any one help me how to create website and Virtual Directory...&amp;nbsp;&lt;/p&gt;</description></item><item><title>My Cache HttpModule and Memory Leaks</title><link>http://forums.iis.net/thread/1921206.aspx</link><pubDate>Mon, 19 Oct 2009 14:25:26 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1921206</guid><dc:creator>Serge2k</dc:creator><slash:comments>2</slash:comments><comments>http://forums.iis.net/thread/1921206.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1921206</wfw:commentRss><description>&lt;p&gt;Hello. I have written my own cache extension. It works fine but i some time ago memory leaks appeared. One of the possible reasons is my wonderfull cache. :) Please take a look at the sources and say wheather i am doing everything right. &lt;/p&gt;
&lt;p&gt;Is it needed to detach &lt;font color="#010001"&gt;PreRequestHandlerExecute&lt;/font&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;/font&gt;event?&lt;/p&gt;
&lt;p&gt;&lt;font color="#010001"&gt;cont&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;PreRequestHandlerExecute&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; -= &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;EventHandler&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;OnPreRequestHandlerExecute&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;How not to let asp.net execute the code of the page after the cached data is passed to the output. Is this correct?&lt;/p&gt;(&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;source&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;as&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;HttpApplication&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;).&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CompleteRequest&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;();&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Response&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;();&lt;/font&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thank a lot.&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;
&lt;p&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;System&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;;&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;System&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Collections&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Generic&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;;&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;System&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Text&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;;&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;System&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Web&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;;&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;System&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Text&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;RegularExpressions&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;;&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;System&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;IO&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;;&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;System&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Xml&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;
&lt;p&gt;namespace&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;HttpCache&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;class&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;CacheModule&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; : &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;IHttpModule&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;#region&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt; IHttpModule Members&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;HttpApplication&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;cont&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;null&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Dispose&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;()&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;cont&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;PreRequestHandlerExecute&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; -= &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;EventHandler&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;OnPreRequestHandlerExecute&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Server&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;null&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Request&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;null&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Response&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;null&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;cont&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;null&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheConfigDocument&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;null&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Init&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;HttpApplication&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;context&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;cont&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;context&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;context&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;PreRequestHandlerExecute&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; += &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;EventHandler&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;OnPreRequestHandlerExecute&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;
&lt;p&gt;#endregion&lt;/p&gt;
&lt;p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;HttpServerUtility&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Server&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;HttpRequest&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Request&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;HttpResponse&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Response&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;HostPath&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CachePath&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;LogFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;FileInfo&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ScriptFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ScriptPath&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;XmlDocument&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheConfigDocument&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;XmlDocument&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;();&lt;/font&gt;&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;OnPreRequestHandlerExecute&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;object&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;source&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;EventArgs&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;events&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;br /&gt;{&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;try&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (!&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;InitApplication&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;((&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;HttpApplication&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;source&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)) &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;// &lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (!&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ScriptFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;FullName&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ToLower&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;().&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;EndsWith&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;.aspx&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;))&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Boolean&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;NeedFresh&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;false&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;br /&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Boolean&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;NotAllHits&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;false&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;// &lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ScriptPath&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Request&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ServerVariables&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;URL&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;].&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Substring&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(0, &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Request&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ServerVariables&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;URL&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;].&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;LastIndexOf&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;/&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;) + 1);&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;// node&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;XmlNode&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;RuleNode&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;GetRuleNode&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ScriptPath&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;// &lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;TimeSpan&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Timeout&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;TimeSpanFromString&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;RuleNode&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;SelectSingleNode&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;timeout&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;).&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;InnerText&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;// &lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Params&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;GetParams&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Request&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ServerVariables&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;QUERY_STRING&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;], &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;ref&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Timeout&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;ref&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;NeedFresh&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;// &lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;FileInfo&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;FileInfo&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;GetCacheFileName&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Request&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ServerVariables&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;HTTP_X_ORIGINAL_URL&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;] ?? &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Request&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ServerVariables&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;URL&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;], &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Params&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;));&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Boolean&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;IsCacheFileValid&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DateTime&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Now&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Subtract&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;LastWriteTime&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;) &amp;lt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Timeout&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;// , 5 &lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (!&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;NeedFresh&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &amp;amp;&amp;amp; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Exists&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &amp;amp;&amp;amp; !&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;IsCacheFileValid&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &amp;amp;&amp;amp; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;LastAccessTime&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Second&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &amp;lt; 2)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DateTime&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;access_date&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;LastAccessTime&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;NotAllHits&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;true&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;LastAccessTime&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;access_date&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;AddSeconds&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(1);&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;// &lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (!&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;NeedFresh&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &amp;amp;&amp;amp; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Exists&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &amp;amp;&amp;amp; (&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DateTime&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Now&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Subtract&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;LastWriteTime&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;) &amp;lt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Timeout&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;/*NotAllHits || IsCacheFileValid*/&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;))&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;try&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;StreamReader&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;sr&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;StreamReader&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;FullName&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;,&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Encoding&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;GetEncoding&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(1251)))&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Content&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;sr&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ReadToEnd&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;();&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (!&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Content&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Contains&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;lt;!--siteerror--&amp;gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;) &amp;amp;&amp;amp; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Content&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; != &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; )&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Response&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Write&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Content&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/p&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;source&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;as&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;HttpApplication&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;).&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CompleteRequest&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;();&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Response&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;();&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;else&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;NeedFresh&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;true&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;catch&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; { &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;NeedFresh&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;true&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;; }&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;else&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;NeedFresh&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;true&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;// &lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;NeedFresh&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &amp;amp;&amp;amp; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Timeout&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &amp;gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;TimeSpan&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Zero&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Response&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Filter&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;CacheFilter&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Response&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Filter&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Request&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ServerVariables&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;HTTP_X_ORIGINAL_URL&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;] ?? &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Request&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ServerVariables&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;URL&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;]);&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;catch&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Exception&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ex&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;) { &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Log&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;Root&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ex&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;); }&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;//get parameters from querystring&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;br /&gt;private&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;GetParams&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;QueryString&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;ref&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;TimeSpan&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Timeout&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;ref&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Boolean&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;NeedFresh&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; {&lt;/font&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;//read cache rools for current script path&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;XmlNode&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;GetRuleNode&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ScriptPath&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; {&lt;/font&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;//get cache file name&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;br /&gt;private&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;GetCacheFileName&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;sURL&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;sParameters&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; {&lt;/font&gt;&lt;font size="2"&gt;}&lt;/p&gt;
&lt;p&gt;//reading cache life time&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;TimeSpan&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;TimeSpanFromString&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;value&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; {&lt;/font&gt;&lt;font size="2"&gt;}&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;bool&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;InitApplication&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;HttpApplication&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Application&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;try&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Server&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Application&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Context&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Server&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Request&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Application&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Context&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Request&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Response&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Application&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Context&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Response&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;HostPath&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Server&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;MapPath&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;/&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CachePath&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;HostPath&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;cache&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ScriptFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;FileInfo&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Server&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;MapPath&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Request&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ServerVariables&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;URL&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;]));&lt;/p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;LogFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CachePath&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;@&amp;quot;\logs\&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DateTime&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Now&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ToString&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;yyyy_MM_dd_HH&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;) + &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;.txt&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (!&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Directory&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Exists&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CachePath&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;@&amp;quot;\logs&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)) &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Directory&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CreateDirectory&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CachePath&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;@&amp;quot;\logs&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheConfigFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;HostPath&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;@&amp;quot;cacheconfig.xml&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheConfigDocument&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Load&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheConfigFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;true&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;catch&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Exception&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ex&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;) { &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Log&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;InitApplication&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ex&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;); }&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;false&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;class&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;CacheFilter&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; : &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Stream&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Stream&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;stream&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;FileInfo&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;//StreamWriter cacheWriter = null;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Content&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;OriginalUrl&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DateTime&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFileLastModifiedData&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFilter&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Stream&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;stream&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;FileInfo&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;OriginalUrl&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;stream&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;stream&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFileLastModifiedData&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Exists&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ? &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;LastWriteTime&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; : &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DateTime&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Now&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;OriginalUrl&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;OriginalUrl&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DirectoryInfo&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;dir&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Directory&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CreateDirectoryChain&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;dir&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;override&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Write&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;byte&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;[] &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;buffer&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;offset&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;count&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;try&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;stream&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Write&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;buffer&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;offset&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;count&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ContentBlock&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Encoding&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;GetEncoding&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(1251).&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;GetString&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;buffer&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;&amp;nbsp;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Content&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; += &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ContentBlock&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;catch&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Exception&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ex&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Log&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;Write: &amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ex&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ToString&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;());&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;override&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Close&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;()&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;stream&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Close&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;();&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Content&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Contains&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;lt;!--siteerror--&amp;gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)) &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Content&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; != &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;) &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Content&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; += &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;lt;!--cache_url=&amp;#39;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + &lt;/p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;OriginalUrl&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Replace&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;amp;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;amp;amp;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;).&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Replace&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;lt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;amp;lt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Replace&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;amp;gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;).&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Replace&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;%&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;amp;percent;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/p&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Replace&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;?cacheupdate&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;,&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;).&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Replace&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;amp;cacheupdate&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;,&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;).&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Replace&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;cacheupdate&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;,&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;#39; date=&amp;#39;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DateTime&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Now&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;ToString&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;() + &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;#39;--&amp;gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;try&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (!&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Exists&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; || &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;LastWriteTime&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &amp;lt;= &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFileLastModifiedData&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;StreamWriter&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;sw&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;StreamWriter&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CacheFile&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;FullName&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;false&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Encoding&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;GetEncoding&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(1251)))&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;sw&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Write&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Content&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;catch&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; { }&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CreateDirectoryChain&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DirectoryInfo&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;dir&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (!&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;dir&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Exists&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;) &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;dir&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Create&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;();&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;#region&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt; Filter overrides&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;override&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Flush&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;()&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;stream&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Flush&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;();&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;override&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;bool&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CanRead&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; { &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;get&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; { &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;true&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;; } }&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;override&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;bool&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CanSeek&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; { &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;get&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; { &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;true&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;; } }&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;override&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;bool&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;CanWrite&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; { &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;get&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; { &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;true&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;; } }&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;override&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;long&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Length&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; { &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;get&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; { &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 0; } }&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;override&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;long&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Position&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; { &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;get&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; { &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;stream&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Position&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;; } &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;set&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; { &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;stream&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Position&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;value&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;; } }&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;override&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;long&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Seek&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;long&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;offset&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SeekOrigin&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;origin&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;) { &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;stream&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Seek&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;offset&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;origin&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;); }&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;override&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;SetLength&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;long&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;length&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;) { &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;stream&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;SetLength&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;length&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;); }&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;override&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Read&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;byte&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;[] &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;buffer&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;offset&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;count&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;) { &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;stream&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;Read&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;buffer&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;offset&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#010001" size="2"&gt;&lt;font color="#010001" size="2"&gt;count&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;); }&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;
&lt;p&gt;#endregion&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;</description></item><item><title>Using new .dll file with ASP.NET</title><link>http://forums.iis.net/thread/1905020.aspx</link><pubDate>Thu, 28 May 2009 10:33:21 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1905020</guid><dc:creator>dhv</dc:creator><slash:comments>9</slash:comments><comments>http://forums.iis.net/thread/1905020.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1905020</wfw:commentRss><description>&lt;p&gt;Hi guys,&lt;/p&gt;&lt;p&gt;I&amp;#39;m having a problem with using an additional module with ASP.NET under IIS7 for a shared hosting environment. Although I mention a specific module, the question is more of a general question about adding modules in IIS7.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I&amp;#39;ve downloaded and installed the trial version of ASPJPEG http://www.aspjpeg.com/ and have written a small test ASP.NET script to make use of it, which works fine as long as the ASPJPEGLib.dll file is in the /bin directory of the application.&lt;/p&gt;&lt;p&gt;As we are running a shared hosting environment for lots of customers and we would like this module to be available for everyone to use without having to have it into their /bin folder, ideally we would like it so that in a script someone could enter&lt;/p&gt;&lt;p&gt;&amp;lt;%@Import Namespace=&amp;quot;ASPJPEGLib&amp;quot;%&amp;gt;&lt;/p&gt;&lt;p&gt;and have all the funcionality there for them.&lt;/p&gt;&lt;p&gt;I&amp;#39;ve tried adding it into IIS7 by doing the following...&lt;/p&gt;&lt;p&gt;Modules -&amp;gt; Configure Native Module -&amp;gt; Register&lt;/p&gt;&lt;p&gt;I&amp;#39;ve added in a name of the Module and the path to the .dll file on my system, but then IIS7 Starts reporting 503 Service Unavailable, in Event Logs I see&lt;/p&gt;&lt;p&gt;&amp;quot;Failed to find the RegisterModule entrypoint in the module DLL &amp;quot;C:\Libraries\ASPJPEGLib.dll. The data is in the error&amp;quot;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I&amp;#39;ve contacted the makers of ASPJPEG regarding this too, however as it&amp;#39;s showing up a glaring lack of knowledge of IIS7 modules I thought I&amp;#39;d post here to get your input on how modules are added as this will more than likely come up again. I&amp;#39;m interested to know&lt;br /&gt;&lt;/p&gt;&lt;p&gt;a) Can modules be added in this way for ASP.NET use&lt;br /&gt;&lt;/p&gt;&lt;p&gt;b) If so, am I actually doing it right? &lt;/p&gt;&lt;p&gt;As always, any help you can give is always much appreciated&lt;/p&gt;&lt;p&gt;Regard, dhv &lt;br /&gt;&lt;/p&gt;</description></item><item><title>adding event to ftp on file upload complete?</title><link>http://forums.iis.net/thread/1923937.aspx</link><pubDate>Mon, 09 Nov 2009 17:27:22 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1923937</guid><dc:creator>pkellner</dc:creator><slash:comments>2</slash:comments><comments>http://forums.iis.net/thread/1923937.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1923937</wfw:commentRss><description>&lt;p&gt;Is there anyway to have an event that happens when&amp;nbsp; file is successfully uploaded to iis7 server?&lt;/p&gt;</description></item><item><title>IIS profiling</title><link>http://forums.iis.net/thread/1922854.aspx</link><pubDate>Fri, 30 Oct 2009 19:06:42 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1922854</guid><dc:creator>zautashvili</dc:creator><slash:comments>1</slash:comments><comments>http://forums.iis.net/thread/1922854.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1922854</wfw:commentRss><description>H everyone,
I&amp;#39;d like to know if it is possible to maintain IIS profiling system using .NET based application, is there any chance of writing something like that (think of system that will work like mssql profiling)

Many thanks

Giorgi</description></item><item><title>Stored context that live longer than request state</title><link>http://forums.iis.net/thread/1922602.aspx</link><pubDate>Thu, 29 Oct 2009 02:53:15 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1922602</guid><dc:creator>DF_Frederic</dc:creator><slash:comments>2</slash:comments><comments>http://forums.iis.net/thread/1922602.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1922602</wfw:commentRss><description>&lt;p&gt;We have a module that process every request on the web server.&amp;nbsp; In that case, it seems that it could be useful to keep the configuration in a context.&amp;nbsp; &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;If the context is saved only for the request state and the module doesn&amp;#39;t do any sub request, I don&amp;#39;t see much interest since it would be the same as to keep the loaded information inside the module as a variable during such request.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Is it possible to keep a context that would be alive as long as the application pool is running?&amp;nbsp; For now I&amp;#39;m not sure if it can be done or not. If this is possible,&amp;nbsp; how can you be notified if the configuration could be modified and must refresh the context?&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thank you in advance for any information on the subject. &lt;br /&gt;&lt;/p&gt;</description></item><item><title>IIS + Tomcat not working</title><link>http://forums.iis.net/thread/1922544.aspx</link><pubDate>Wed, 28 Oct 2009 21:48:44 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1922544</guid><dc:creator>GregorFischer</dc:creator><slash:comments>5</slash:comments><comments>http://forums.iis.net/thread/1922544.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1922544</wfw:commentRss><description>&lt;p&gt;Hi, I&amp;#39;m trying to set up IIS and Tomcat to work together.&lt;/p&gt;&lt;p&gt;I read nearly every thread about it, and it&amp;#39;s still not working !! NTFS rights are set to r/w for IUSR and IIS_USRSR in Tomcat directory as well as in the connector-DLLs place. I tried the registry-way to tell Tomcat about the Isapi-DLL as well as the isapi_redirector.properties-way (but where to place that file?).&lt;/p&gt;&lt;p&gt;I&amp;#39;m getting an 500.0 error, code 0x80070001 from IsapiFilterModul notification AuthenticateRequest, details see below. Looks like an authenification problem, but rights are all lowered in the concerning directories. A conflict with other handlers? Just a bug in isapi_redirector.dll ?&lt;br /&gt;&lt;/p&gt;&lt;p&gt; What&amp;#39;s wrong? Need help!&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Here&amp;#39;s my setup:&lt;/p&gt;&lt;p&gt;uriworkermap.properties:&lt;/p&gt;&lt;p&gt;/myapp=myworker&lt;br /&gt;/myapp/*=myworker&lt;/p&gt;&lt;p&gt;workers.properties:&lt;/p&gt;&lt;p&gt;ps=\&lt;br /&gt;worker.list=myworker&lt;br /&gt;worker.myworker.type=ajp13&lt;br /&gt;worker.myworker.host=127.0.0.1&lt;br /&gt;worker.myworker.port=800 &lt;/p&gt;&lt;p&gt;Registry:&lt;/p&gt;&lt;p&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]&lt;br /&gt;&amp;quot;extension_uri&amp;quot;=&amp;quot;/jakarta/isapi_redirect.dll&amp;quot;&lt;br /&gt;&amp;quot;log_file&amp;quot;=&amp;quot;C:\\connector\\isapi_redirect.log&amp;quot;&lt;br /&gt;&amp;quot;log_level&amp;quot;=&amp;quot;debug&amp;quot;&lt;br /&gt;&amp;quot;worker_file&amp;quot;=&amp;quot;C:\\connector\\workers.properties&amp;quot;&lt;br /&gt;&amp;quot;worker_mount_file&amp;quot;=&amp;quot;C:\\connector\\uriworkermap.properties&amp;quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp;applicationHost.config&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;location path=&amp;quot;apps&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;system.webServer&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;isapiFilters&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;filter name=&amp;quot;jkfilter&amp;quot; path=&amp;quot;C:\connector\isapi_redirect.dll&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/isapiFilters&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;security&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;authentication&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;anonymousAuthentication enabled=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;windowsAuthentication enabled=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;basicAuthentication enabled=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/authentication&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/security&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;handlers accessPolicy=&amp;quot;Read, Execute, Script&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;clear /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name=&amp;quot;ISAPI-dll&amp;quot; path=&amp;quot;*.dll&amp;quot; verb=&amp;quot;*&amp;quot; type=&amp;quot;&amp;quot; modules=&amp;quot;IsapiModule&amp;quot; scriptProcessor=&amp;quot;C:\connector\isapi_redirect.dll&amp;quot; resourceType=&amp;quot;File&amp;quot; requireAccess=&amp;quot;Execute&amp;quot; allowPathInfo=&amp;quot;true&amp;quot; preCondition=&amp;quot;&amp;quot; responseBufferLimit=&amp;quot;4194304&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name=&amp;quot;PHP_via_FastCGI&amp;quot; path=&amp;quot;*.php&amp;quot; verb=&amp;quot;*&amp;quot; type=&amp;quot;&amp;quot; modules=&amp;quot;FastCgiModule&amp;quot; scriptProcessor=&amp;quot;C:\Program Files\PHP\php-cgi.exe&amp;quot; resourceType=&amp;quot;Either&amp;quot; requireAccess=&amp;quot;Script&amp;quot; allowPathInfo=&amp;quot;false&amp;quot; preCondition=&amp;quot;&amp;quot; responseBufferLimit=&amp;quot;4194304&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name=&amp;quot;CGI-exe&amp;quot; path=&amp;quot;*.exe&amp;quot; verb=&amp;quot;*&amp;quot; type=&amp;quot;&amp;quot; modules=&amp;quot;CgiModule&amp;quot; scriptProcessor=&amp;quot;&amp;quot; resourceType=&amp;quot;File&amp;quot; requireAccess=&amp;quot;Execute&amp;quot; allowPathInfo=&amp;quot;true&amp;quot; preCondition=&amp;quot;&amp;quot; responseBufferLimit=&amp;quot;4194304&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name=&amp;quot;TRACEVerbHandler&amp;quot; path=&amp;quot;*&amp;quot; verb=&amp;quot;TRACE&amp;quot; type=&amp;quot;&amp;quot; modules=&amp;quot;ProtocolSupportModule&amp;quot; scriptProcessor=&amp;quot;&amp;quot; resourceType=&amp;quot;Unspecified&amp;quot; requireAccess=&amp;quot;None&amp;quot; allowPathInfo=&amp;quot;false&amp;quot; preCondition=&amp;quot;&amp;quot; responseBufferLimit=&amp;quot;4194304&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name=&amp;quot;OPTIONSVerbHandler&amp;quot; path=&amp;quot;*&amp;quot; verb=&amp;quot;OPTIONS&amp;quot; type=&amp;quot;&amp;quot; modules=&amp;quot;ProtocolSupportModule&amp;quot; scriptProcessor=&amp;quot;&amp;quot; resourceType=&amp;quot;Unspecified&amp;quot; requireAccess=&amp;quot;None&amp;quot; allowPathInfo=&amp;quot;false&amp;quot; preCondition=&amp;quot;&amp;quot; responseBufferLimit=&amp;quot;4194304&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name=&amp;quot;StaticFile&amp;quot; path=&amp;quot;*&amp;quot; verb=&amp;quot;*&amp;quot; type=&amp;quot;&amp;quot; modules=&amp;quot;StaticFileModule,DefaultDocumentModule,DirectoryListingModule&amp;quot; scriptProcessor=&amp;quot;&amp;quot; resourceType=&amp;quot;Either&amp;quot; requireAccess=&amp;quot;Read&amp;quot; allowPathInfo=&amp;quot;false&amp;quot; preCondition=&amp;quot;&amp;quot; responseBufferLimit=&amp;quot;4194304&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/handlers&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/system.webServer&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/location&amp;gt;&lt;br /&gt;&lt;/p&gt;&lt;div id="details-left"&gt;&lt;table cellpadding="0" cellspacing="0"&gt;&lt;tr class="alt"&gt;&lt;th&gt;Modul&lt;/th&gt;
&lt;td&gt;IsapiFilterModule&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Benachrichtigung&lt;/th&gt;
&lt;td&gt;AuthenticateRequest&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="alt"&gt;
&lt;th&gt;Handler&lt;/th&gt;
&lt;td&gt;StaticFile&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Fehlercode&lt;/th&gt;
&lt;td&gt;0x80070001&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
&lt;div id="details-right"&gt;
&lt;table cellpadding="0" cellspacing="0"&gt;

&lt;tr class="alt"&gt;
&lt;th&gt;Angeforderte URL&lt;/th&gt;
&lt;td&gt;http://apps.myserver.local:80/&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Physikalischer Pfad&lt;/th&gt;
&lt;td&gt;C:\inetpub\apps&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="alt"&gt;
&lt;th&gt;Anmeldemethode&lt;/th&gt;
&lt;td&gt;Anonym&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Angemeldeter Benutzer&lt;/th&gt;
&lt;td&gt;Anonym&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description></item><item><title>Is there a way to retrieve a 'REAL TIME' IIS traffic???</title><link>http://forums.iis.net/thread/1907837.aspx</link><pubDate>Mon, 22 Jun 2009 09:08:45 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1907837</guid><dc:creator>seoru</dc:creator><slash:comments>1</slash:comments><comments>http://forums.iis.net/thread/1907837.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1907837</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Hi,&amp;nbsp;I&amp;#39;m going to make a real time IIS traffic monitoring tool. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;I have searched and tried finding out the ways about retrieving real time traffics&amp;nbsp;by WMI &lt;/p&gt;
&lt;p&gt;with COM object(VC++).&lt;/p&gt;
&lt;p&gt;In WMIs, there were some properties be able to calculate the bandwidths&amp;nbsp;like BytesSentPerSec, BytesTotalPerSec, or TotalFilesSent, etc.&lt;/p&gt;
&lt;p&gt;But by WMIs, &amp;nbsp;those properties&amp;#39; values had only be reflected when a file transferring has finished &lt;/p&gt;
&lt;p&gt;or a session has finished, so we couldn&amp;#39;t&amp;nbsp;calculate a precise current traffic. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;Is there a way to retrieve real time IIS&amp;nbsp;status like bandwidth, connected user&lt;/p&gt;
&lt;p&gt;number, etc? By ISAPI filter? Or by&amp;nbsp;other ways? &lt;/p&gt;
&lt;p&gt;I&amp;#39;ve searched about&amp;nbsp;this but there are few informations about this problem.&lt;/p&gt;
&lt;p&gt;Help me plz ~ T.T ~~&amp;nbsp; &lt;/p&gt;
&lt;p&gt;A&amp;nbsp;little hints will be helpful to me too.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Thank you for reading.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Trouble rewriting urls to static content</title><link>http://forums.iis.net/thread/1921994.aspx</link><pubDate>Sat, 24 Oct 2009 03:35:21 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1921994</guid><dc:creator>tmkadlec</dc:creator><slash:comments>1</slash:comments><comments>http://forums.iis.net/thread/1921994.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1921994</wfw:commentRss><description>&lt;p&gt;I&amp;#39;m attempting to write, what i thought would be, a simple HttpModule to rewrite incoming requests like &amp;quot;/styles/{somerevisionnumber}foo.css&amp;quot; to a static file at &amp;quot;/styles/foo.css&amp;quot;.&amp;nbsp; (The purpose being to insert a file hash or file modified date values in place of {somerevisionnumber} when generating urls in my web application to force browsers to retrieve updated files immediately while being able to set my expiration caches far into the future.)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The key requirement I can&amp;#39;t seem to accomplish is that after the url is rewritten I want the request to go through just as it would for any static file.&amp;nbsp; Meaning I want the StaticCompressionModule to compress and cache the file once on the first request and return the cached gzipped file on future requests for these redirected urls.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;(Note: I&amp;#39;m attempting this under Windows 7, IIS 7.5, .Net 4, Visual Studio 2010 Beta 2)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;For experimental purposes, in my BeginRequest handler I have something that effectively is:&lt;/p&gt;&lt;p&gt;if(Context.Request.Path == &amp;quot;/styles/1foo.htm&amp;quot;) {&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Context.RewritePath(&amp;quot;/styles/foo.htm&amp;quot;);&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;} &lt;br /&gt;&lt;/p&gt;&lt;p&gt;The act of calling Context.RewritePath seems to make further processing of the request &amp;#39;dynamic&amp;#39;.&amp;nbsp; i.e. I&amp;#39;ve noticed if I enable dynamic HttpCompression I will get a gzipped response from 1foo.htm but having *only* static HttpCompression turned on gives me uncompressed responses for 1foo.htm but compressed responses for foo.htm. &lt;/p&gt;&lt;p&gt;Even if i were to change my code to:&lt;/p&gt;&lt;p&gt;if(Context.Request.Path == &amp;quot;/styles/foo.htm&amp;quot;) {&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;Context.RewritePath(&amp;quot;/styles/foo.htm&amp;quot;);&lt;br /&gt;
  &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;} &lt;br /&gt;
&lt;/p&gt;&lt;p&gt;Notice i&amp;#39;m &amp;#39;rewriting&amp;#39; to the exact same url.&amp;nbsp; The act of calling Context.RewritePath alone seems to cause the request not to go through the static file / compression modules.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Admittedly i don&amp;#39;t understand a lot of intricacies going on here.&amp;nbsp; Is this pipeline ordering issue?&amp;nbsp; Do I need to specify my url rewriting module run earlier?&amp;nbsp; Am i using the wrong technique to rewrite the url?&lt;/p&gt;&lt;p&gt;As I mentioned I thought this would be simple and&amp;nbsp; I would really like to gain a better understanding of what is going on and how to accomplish this.&amp;nbsp; Thanks for your help!&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thomas &lt;br /&gt;&lt;/p&gt;</description></item><item><title>Programatic install of managed module: "...missing a section declaration"</title><link>http://forums.iis.net/thread/1921871.aspx</link><pubDate>Fri, 23 Oct 2009 13:04:37 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1921871</guid><dc:creator>cjb3bhl</dc:creator><slash:comments>1</slash:comments><comments>http://forums.iis.net/thread/1921871.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1921871</wfw:commentRss><description>&lt;p&gt;I am trying to programtically install a managed module that I wrote into IIS 7.0 on a Windows 2008 Server 32-bit system.&amp;nbsp; I get the following error:&lt;/p&gt;
&lt;p&gt;Unhandled Exception: System.Runtime.InteropServices.COMException (0x80070490): Filename: &lt;a&gt;\\?\C:\Windows\system32\inetsrv\config\applicationHost.config&lt;/a&gt;&lt;br /&gt;Error: The configuration section &amp;#39;system.webserver/modules&amp;#39; cannot be read because it is missing a section declaration.&lt;/p&gt;
&lt;p&gt;The code is as follows:&lt;/p&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;ServerManager&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; mgr = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;ServerManager&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;();&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;Microsoft.Web.Administration.&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Configuration&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; config;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;Microsoft.Web.Administration.&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;ConfigurationSection&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; section;&lt;/p&gt;Microsoft.Web.Administration.&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;ConfigurationElementCollection&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; modules;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;Microsoft.Web.Administration.&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;ConfigurationElement&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; tapModule;&lt;/p&gt;&lt;/font&gt;
&lt;p&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;config = mgr.GetApplicationHostConfiguration();section = config.GetSection(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;system.webserver/modules&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;modules = section.GetCollection();&lt;/p&gt;
&lt;p&gt;It is the config.GetSection() call that is generating the exception.&amp;nbsp; What am I doing wrong here?&amp;nbsp; I have not touched the applicationHost.config file, so why would it be invalid?&lt;/p&gt;&lt;/font&gt;</description></item><item><title>Receive notification of created / updated website</title><link>http://forums.iis.net/thread/1914834.aspx</link><pubDate>Thu, 27 Aug 2009 16:57:28 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1914834</guid><dc:creator>richard.szalay</dc:creator><slash:comments>3</slash:comments><comments>http://forums.iis.net/thread/1914834.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1914834</wfw:commentRss><description>&lt;p&gt;Is there an events system in IIS 7 extensibility model that can notify an addin when a website is created (via the &amp;quot;Add Web Site&amp;quot; dialog) or when it&amp;#39;s bindings are updated (via the &amp;quot;Edit Bindings&amp;quot; dialog)?&lt;/p&gt;&lt;p&gt;I suppose it&amp;#39;s possible to use WMI events, but I don&amp;#39;t want to clash with asynchronous tasks that IIS might be performing after the site is actually created.&lt;br /&gt;&lt;/p&gt;</description></item><item><title>IIS Module Persistent Connections?</title><link>http://forums.iis.net/thread/1921420.aspx</link><pubDate>Tue, 20 Oct 2009 18:50:18 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1921420</guid><dc:creator>three_sixteen</dc:creator><slash:comments>0</slash:comments><comments>http://forums.iis.net/thread/1921420.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1921420</wfw:commentRss><description>&lt;p&gt;I&amp;#39;ve been having trouble finding information on how to keep a persistent data connection open with an IIS module or handler.&lt;/p&gt;&lt;p&gt;I kind of expected by making my handler reusable that it would reuse connections it made to a database, but that doesn&amp;#39;t seem to be the case. &amp;nbsp; I create the connection in the new sub of the handler class, am I doing it wrong?&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Replace IISADMPWD with HTTPModule on IIS7?</title><link>http://forums.iis.net/thread/1920592.aspx</link><pubDate>Tue, 13 Oct 2009 17:12:35 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1920592</guid><dc:creator>chorpeac</dc:creator><slash:comments>1</slash:comments><comments>http://forums.iis.net/thread/1920592.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1920592</wfw:commentRss><description>&lt;p&gt;We&amp;#39;re running IIS7 on a Windows 2008 server, and I have a .NET web application that is running under a separate application pool. For the moment the application is setup using Basic Authentication. All users to the site have an account created in active directory, which resides on a separate server. All users must enter his/her credentials via the default browser dialog.&lt;/p&gt;&lt;p&gt;My problem is when a user forgets his/her password and it is reset by an admin. Security rules specify that when the user&amp;#39;s password is reset, that the flag &amp;quot;User must change their password on next logon&amp;quot; must also be set. In versions of IIS before 7, the IISADMPWD was used to allow the user to change the password in this situation. IIS7 does not include this feature, so I had to find an alternative.&lt;/p&gt;&lt;p&gt;I wrote an HttpModule that inherits from IHttpModule. I subscribed to the AuthenticateRequest event. Then I perform my Active Directory code
to check the password expiration status. Based on the result of the password check code, I let
the users into the application or pass them to a password change page.&lt;/p&gt;&lt;p&gt;Should work, but it doesn&amp;#39;t always...&amp;nbsp; The user is not always getting to the password change page. Sometimes the user is just continuously prompted for username and password, which results in a 401. I did some investigating, and it appears that when the app pool is reset, the first user to hit the site is not authenticated if the flag is turned on for that user. The continuous prompts are given to the user. If that user&amp;#39;s flag is turned off, he/she gets authenticated and can proceed. If I immediately turn the flag back on, without resetting the app pool, the user goes to the change password page upon next logon. &lt;/p&gt;&lt;p&gt;Not sure what is going on here, any ideas? &lt;br /&gt;&lt;/p&gt;</description></item><item><title>IIS 7 and TOMCAT 6 CONFIGURATION WOES.</title><link>http://forums.iis.net/thread/1893442.aspx</link><pubDate>Sun, 15 Feb 2009 03:15:40 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1893442</guid><dc:creator>britzdawg</dc:creator><slash:comments>6</slash:comments><comments>http://forums.iis.net/thread/1893442.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1893442</wfw:commentRss><description>&lt;p&gt;After about 2 days devoted to having a website run using iis 7 and tomcat I have become exhausted.&amp;nbsp; I cannot seem to get these two to work together.&amp;nbsp; I have tried almost everything, and I still cannot get these two to work.&amp;nbsp; So far this is what I have tried:&lt;/p&gt;&lt;p&gt;&amp;nbsp;1. put the redirector in a folder - C:\Program Files\Apache Software Foundation\Jakarta Isapi Redirector\bin&lt;/p&gt;&lt;p&gt;2. Created uriworkermap.properties and workers.properties files and put them under C:\Program Files\Apache Software Foundation\Jakarta Isapi Redirector\conf directory&lt;/p&gt;&lt;p&gt;3. Updated the registry keys through regedit for all these files&lt;/p&gt;&lt;p&gt;4. Created a virtual directory under the default website and assigned the isapi redirector.dll file under it.&lt;/p&gt;&lt;p&gt;5. Configured the CGI/Isapi restrictions to allow the isapi redirector &lt;br /&gt;&lt;/p&gt;&lt;p&gt;6. Configured the&amp;nbsp; Isapi filters to the redirect.dll&lt;/p&gt;&lt;p&gt;7.&amp;nbsp; Under Handler Mappings I add the isapi redirector.dll path to be able to execute a *.dll file&lt;/p&gt;&lt;p&gt;Right now the error that I am getting when I try to access my website is:&lt;/p&gt;&lt;div id="content"&gt;
 &lt;div class="content-container"&gt;
  &lt;h2&gt;403 - Forbidden: Access is denied.&lt;/h2&gt;
  &lt;h3&gt;You do not have permission to view this directory or page using the credentials that you supplied.&lt;/h3&gt;
 &lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&amp;nbsp;Also, I have set all the permissions on all the files that need to be accessed to read, write, and execute.&amp;nbsp; There is one thing that is bothering me.&amp;nbsp; Which do I need to put for &amp;quot;Physical Path Credentials&amp;quot; under &amp;quot;Advanced&amp;nbsp; Settings&amp;quot; for the virtual directory.&amp;nbsp; Right now I have &amp;quot;Application User (pass through authentication)&amp;quot; but there is the other option &amp;quot;Specific User.&amp;quot;&amp;nbsp; Also, the logs for the redirector.dll has never been writen to, so I have no error messages for that. I dont know if that is from the redirector not kicking off or something else.&amp;nbsp; The only error log that I have is the http request logs and this is what is in for a tried request from another computer.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken&lt;br /&gt;2009-02-15 03:17:00 192.168.1.103 GET / - 80 - 98.122.123.252 Mozilla/5.0+(Windows;+U;+Windows+NT+6.0;+en-US;+rv:1.9.0.6)+Gecko/2009011913+Firefox/3.0.6 403 14 0 4696&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Any help on this would be greatly appreciated.&lt;br /&gt;&lt;br /&gt;Thanks in advance,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Chris &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Edit: Must all config object be Released &amp; local static variables question</title><link>http://forums.iis.net/thread/1919760.aspx</link><pubDate>Wed, 07 Oct 2009 04:50:58 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1919760</guid><dc:creator>DF_Frederic</dc:creator><slash:comments>3</slash:comments><comments>http://forums.iis.net/thread/1919760.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1919760</wfw:commentRss><description>&lt;p&gt;Edit: I decided to add another question since they&amp;#39;re both related to the config retrieval in a way and didn&amp;#39;t want to open another thread for it.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;They may be a simple questions but it comes from the fact that my background is not C++.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;First question: &lt;br /&gt;&lt;/p&gt;&lt;p&gt;IIS7 modules can allocate memory that can be managed by IIS itself.&amp;nbsp; For the administration section, it seems that every object you request, like for example a&amp;nbsp; IAppHostProperty, must be released after using it. The MSDN sample shows it but the documentation doesn&amp;#39;t state it directly (maybe because the object derive from IUnknown).&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Some of the code path in our application code exit before releasing the object(s).&amp;nbsp; My guess is that it will create a memory leak.&amp;nbsp; Is my reasoning correct?&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Second question:&lt;/p&gt;&lt;p&gt;When retrieving part of the configuration, you must use a VARIANT struct.&amp;nbsp; A  helper function for reading specific part of the configuration was made.&amp;nbsp; Inside this function, I found a static VARIANT.&amp;nbsp; This static VARIANT is returned with the content of the value requested on each call. &lt;/p&gt;&lt;p&gt;All I can read is usually static inside function is non thread safe and it concerns me. I&amp;#39;m no MT expert but since I guess every request for the module must be running in it&amp;#39;s own thread, maybe there is no threading issue or am I wrong? &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thank you in advance for any information on the subject. &lt;br /&gt;&lt;/p&gt;</description></item><item><title>Custom authentication module - folders must be Applications?</title><link>http://forums.iis.net/thread/1920437.aspx</link><pubDate>Mon, 12 Oct 2009 18:03:49 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1920437</guid><dc:creator>Smatchimo</dc:creator><slash:comments>1</slash:comments><comments>http://forums.iis.net/thread/1920437.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1920437</wfw:commentRss><description>&lt;p&gt;We&amp;#39;re working on a custom authentication module to hit a web service to see if a given username/password is allowed access to a certain folder, based on the leastprivileged guides.&lt;/p&gt;&lt;p&gt;At first we had issues where if we set the custom auth module to enabled, on a certain folder only, the entire site would then become password protected.&lt;/p&gt;&lt;p&gt;Doing &amp;#39;Convert to Application&amp;#39; on the folder seems to fix this, then the rest of the site is unaffected but just that one folder (and all subfolders/files) throws up a login prompt like we want.&amp;nbsp; &lt;/p&gt;&lt;p&gt;Furthermore, lets say we want /admin/ to be protected like this, but /admin/public/ should be wide open and not prompt anyone to log in. We can go to that /admin/public folder and set the custom authentication module to disabled, but it doesn&amp;#39;t go into effect until we turn that folder into an Application as well.&lt;/p&gt;&lt;p&gt;The module shows up in the Authentication choices (i.e. next to Anonymous Authentication) on all folders regardless of if they are Applications
or not. Maybe the fact that it is a managed code authentication module is what&amp;#39;s making turning folders into Applications necessary to make it behave properly? Just wondering if this is normal expected behavior or if we need to do some more fine tuning on our custom authentication module so turning folders into Applications is not required.&amp;nbsp; &lt;br /&gt;&lt;/p&gt;&lt;p&gt;Windows 2008 R2, IIS 7.5, 64 bit &lt;/p&gt;&lt;p&gt;Thanks! &lt;br /&gt;&lt;/p&gt;</description></item><item><title>Need help on developing a module...</title><link>http://forums.iis.net/thread/1920050.aspx</link><pubDate>Thu, 08 Oct 2009 21:00:21 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1920050</guid><dc:creator>spyork</dc:creator><slash:comments>1</slash:comments><comments>http://forums.iis.net/thread/1920050.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1920050</wfw:commentRss><description>&lt;p&gt;For anyone familiar with the userdir module on Apache and iis7 development...Where would I start in developing a module for iis7 that would duplicate the userdir functionality already present in Apache?&amp;nbsp; Any pointers to get me started would be greatly appreciated.&amp;nbsp; Thanks...&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Recover from unexepected error crash in native module</title><link>http://forums.iis.net/thread/1919261.aspx</link><pubDate>Fri, 02 Oct 2009 09:46:26 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1919261</guid><dc:creator>DF_Frederic</dc:creator><slash:comments>5</slash:comments><comments>http://forums.iis.net/thread/1919261.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1042&amp;PostID=1919261</wfw:commentRss><description>&lt;p&gt;I don&amp;#39;t have experience making native module in C++ or experience in the language so I will try to explain as clearly as I can what I want to achieve.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;We have a native module developed by an external programmer. Let say for some reason this module crash on a null pointer because of a programming error. For example,  a structure was not instantiated and a string compare method like _strnicmp tried to access the data inside.&amp;nbsp; In that case, the application will crash and It is not possible to catch the error since no error was thrown (from what I understand).&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;For sure in the end the real  answer is to fix the bug but until you find that error that was missed, it would be good if there was a way to catch the error so it doesn&amp;#39;t bring down the complete server.&amp;nbsp; What I saw is after a few repeated module crash, IIS will decide that this application pool is not stable and stop it.&amp;nbsp; I would prefer to find a way to recover from the crash inside the module, don&amp;#39;t alter the page content that will be sent to the customer and log the error in any possible log (event viewer or any other appropriate one).&amp;nbsp; If the module fail, the customer should still be able to see the un-altered content since the page content in that scenario is more important than the resulting modified page.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Is it possible to do so in those type of error? It seems that our module made for the apache server doesn&amp;#39;t have this issue since apache will just kill that module and the website continue to work sending the original page.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;Any information on the subject, document to read about IIS or approach to recover gracefully from a bug like mentioned about will be greatly appreciated.&lt;br /&gt;&lt;/p&gt;</description></item></channel></rss>