<?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>Search results matching tag 'C#'</title><link>http://forums.iis.net/search/SearchResults.aspx?o=DateDescending&amp;tag=C%23&amp;orTags=0</link><description>Search results matching tag 'C#'</description><dc:language>en-US</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Re: Unable to serialize the session state - ASP.NET v2.0 -- Please Help</title><link>http://forums.iis.net/p/1162958/1926170.aspx#1926170</link><pubDate>Wed, 25 Nov 2009 14:43:19 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1926170</guid><dc:creator>amissra</dc:creator><cs:applicationKey>aspnet_administration--1</cs:applicationKey><description>&lt;p&gt;&amp;nbsp;Hi,&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; Thanks for replying.&amp;nbsp; I&amp;#39;ve read that post before, and that doesn&amp;#39;t really help.&amp;nbsp; I have &amp;quot;StateServer&amp;quot; in the web.config file, and I&amp;#39;ve been told to leave it as that.&amp;nbsp; I can&amp;#39;t go to &amp;quot;InProc&amp;quot;, which is why I mentioned that earlier.&lt;/p&gt;&lt;p&gt;Amit &lt;br /&gt;&lt;/p&gt;</description></item><item><title>Unable to serialize the session state - ASP.NET v2.0 -- Please Help</title><link>http://forums.iis.net/p/1162958/1926165.aspx#1926165</link><pubDate>Wed, 25 Nov 2009 14:15:58 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1926165</guid><dc:creator>amissra</dc:creator><cs:applicationKey>aspnet_administration--1</cs:applicationKey><description>&lt;p&gt;Hi, I&amp;#39;m a little new to asp.net and I&amp;#39;m not exactly sure how to tackle this problem.....&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;On
the web application we&amp;#39;re using, I&amp;#39;m essentially trying to print out
data from a repeater in a panel out to a printer.&amp;nbsp; In the web.config,
we&amp;#39;re using &amp;quot;StateServer&amp;quot; as the Session State.&lt;/p&gt;&lt;p&gt;The data I get
for the repeater is from a set of operations I do to a mysql
database... ie. a function collects data from a database.... I
manipulate records for the database ..... **I keep track of what I
manipulated**&lt;/p&gt;&lt;p&gt;The data I keep track of is what I send to the
repeater to display a report.&amp;nbsp; This report is what I&amp;#39;m trying to print
out to a printer.&lt;/p&gt;&lt;p&gt;Oh, and the data binding for the repeater is done on Page_Load of the page itself.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The error I&amp;#39;m getting is this:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;
&lt;h2&gt; &lt;i&gt;Unable to serialize the session state. In &amp;#39;StateServer&amp;#39;
and &amp;#39;SQLServer&amp;#39; mode, ASP.NET will serialize the session state objects,
and as a result non-serializable objects or MarshalByRef objects are
not permitted. The same restriction applies if similar serialization is
done by the custom session state store in &amp;#39;Custom&amp;#39; mode.&lt;/i&gt; &lt;/h2&gt;
&lt;/span&gt;
            &lt;font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif "&gt;
            &lt;b&gt; Description: &lt;/b&gt;An
unhandled exception occurred during the execution of the current web
request. Please review the stack trace for more information about the
error and where it originated in the code. &lt;br /&gt;&lt;br /&gt;
            &lt;b&gt; Exception Details: &lt;/b&gt;System.Web.HttpException:
Unable to serialize the session state. In &amp;#39;StateServer&amp;#39; and &amp;#39;SQLServer&amp;#39;
mode, ASP.NET will serialize the session state objects, and as a result
non-serializable objects or MarshalByRef objects are not permitted. The
same restriction applies if similar serialization is done by the custom
session state store in &amp;#39;Custom&amp;#39; mode.&lt;br /&gt;&lt;br /&gt;
            &lt;b&gt;Source Error:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;
            
&lt;table bgcolor="#ffffcc"&gt;

&lt;tr&gt;
&lt;td&gt;
                      &lt;code&gt;
An unhandled exception was generated during the execution of the
current web request. Information regarding the origin and location of
the exception can be identified using the exception stack trace below.&lt;/code&gt;
                  &lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;br /&gt;
            &lt;b&gt;Stack Trace:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;
            
&lt;table bgcolor="#ffffcc"&gt;

&lt;tr&gt;
&lt;td&gt;
                      &lt;code&gt;&lt;/code&gt;
&lt;pre&gt;[SerializationException: Type &amp;#39;System.Web.UI.WebControls.Panel&amp;#39; in Assembly &amp;#39;System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&amp;#39; is not marked as serializable.]&lt;br /&gt;   System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers(RuntimeType type) +7733643&lt;br /&gt;   System.Runtime.Serialization.FormatterServices.GetSerializableMembers(Type type, StreamingContext context) +258&lt;br /&gt;   System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitMemberInfo() +111&lt;br /&gt;   System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter) +161&lt;br /&gt;   System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.Serialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter) +51&lt;br /&gt;   System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __BinaryWriter serWriter, Boolean fCheck) +410&lt;br /&gt;   System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph, Header[] headers, Boolean fCheck) +134&lt;br /&gt;   System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph) +13&lt;br /&gt;   System.Web.Util.AltSerialization.WriteValueToStream(Object value, BinaryWriter writer) +2560&lt;br /&gt;&lt;br /&gt;[HttpException (0x80004005): Unable to serialize the session state. In &amp;#39;StateServer&amp;#39; and &amp;#39;SQLServer&amp;#39; mode, ASP.NET will serialize the session state objects, and as a result non-serializable objects or MarshalByRef objects are not permitted. The same restriction applies if similar serialization is done by the custom session state store in &amp;#39;Custom&amp;#39; mode.]&lt;br /&gt;   System.Web.Util.AltSerialization.WriteValueToStream(Object value, BinaryWriter writer) +2729&lt;br /&gt;   System.Web.SessionState.SessionStateItemCollection.WriteValueToStreamWithAssert(Object value, BinaryWriter writer) +55&lt;br /&gt;   System.Web.SessionState.SessionStateItemCollection.Serialize(BinaryWriter writer) +1271&lt;br /&gt;   System.Web.SessionState.SessionStateUtility.Serialize(SessionStateStoreData item, Stream stream) +314&lt;br /&gt;   System.Web.SessionState.SessionStateUtility.SerializeStoreData(SessionStateStoreData item, Int32 initialStreamSize, Byte[]&amp;amp; buf, Int32&amp;amp; length) +101&lt;br /&gt;   System.Web.SessionState.OutOfProcSessionStateStore.SetAndReleaseItemExclusive(HttpContext context, String id, SessionStateStoreData item, Object lockId, Boolean newItem) +107&lt;br /&gt;   System.Web.SessionState.SessionStateModule.OnReleaseState(Object source, EventArgs eventArgs) +853&lt;br /&gt;   System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +216&lt;br /&gt;   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp;amp; completedSynchronously) +120&lt;br /&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I realize that if I change the web.config
sessionState control to &amp;quot;InProc&amp;quot;, that what I&amp;#39;m trying to do does
function.... but that&amp;#39;s NOT how the web application was designed...
It&amp;#39;s specifically designed for &amp;quot;StateServer&amp;quot;, and I cannot change
that.... also, I further realize that something, is being sent back
that is NOT serialized.... according to the stack that is
&amp;#39;System.Web.UI.WebControls.Panel&amp;#39; ....&lt;/p&gt;&lt;p&gt;&amp;nbsp;Any help on this would be much appreciated... I really don&amp;#39;t know what to do to fix this...&lt;/p&gt;&lt;p&gt;&amp;nbsp;Amit &lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: Windows 7 FTP problems</title><link>http://forums.iis.net/p/1162565/1925475.aspx#1925475</link><pubDate>Thu, 19 Nov 2009 21:19:12 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1925475</guid><dc:creator>benjamin.pence</dc:creator><cs:applicationKey>iis7_-_publishing-41</cs:applicationKey><description>&lt;p&gt;In vb.net, you can try using Microsoft.Web.Administration, especially the ServerManager.&amp;nbsp; Here&amp;#39;s how I listed the web/ftp sites and virtual directories: (I used C#, which can auto-translate to vb.net)&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;managerServer = new ServerManager();&lt;br /&gt; foreach (Site site in managerServer.Sites)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; listBox1.Items.Add(site.Name);&lt;br /&gt;&amp;nbsp; foreach (Microsoft.Web.Administration.Application app in site.Applications)&lt;br /&gt;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (VirtualDirectory virdir in app.VirtualDirectories)&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; listBox1.Items.Add(&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot; + virdir.ToString());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}&lt;code&gt;&lt;/code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This page has examples in a few languages, including C#: &lt;a href="http://blog.crowe.co.nz/archive/2006/07/04/663.aspx"&gt;http://blog.crowe.co.nz/archive/2006/07/04/663.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Hope that&amp;#39;s enough to give you some clues. &lt;br /&gt;&lt;/p&gt;</description></item><item><title>Response.Redirect Issues</title><link>http://forums.iis.net/p/1162623/1924720.aspx#1924720</link><pubDate>Fri, 13 Nov 2009 22:36:20 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1924720</guid><dc:creator>philsidari</dc:creator><cs:applicationKey>iis_70_-_application_request_routing_arr-41</cs:applicationKey><description>&lt;p&gt;We have been successfully using ARR in our dev and test environments for some time and have had great success. There is one key difference in our production environment that is causing some issues.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;We have several instances of the app running in vdirs on the same web servers. In dev and test environments the ARR URL has the same path as the vdir name on the web servers but in prod they are different.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Test Env:&lt;/p&gt;
&lt;p&gt;=======================&lt;/p&gt;
&lt;p&gt;ARR URL:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://proxy/App-Inst1/"&gt;http://proxy/App-Inst1/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://proxy/App-Inst2/"&gt;http://proxy/App-Inst2/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Web URL:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://websvr/App-Inst1/"&gt;http://websvr/App-Inst1/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://websvr/App-Inst2/"&gt;http://websvr/App-Inst2/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Prod Env:&lt;/p&gt;
&lt;p&gt;=======================&lt;/p&gt;
&lt;p&gt;ARR URL:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://proxy.us/App/"&gt;http://proxy.us/App/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://proxy.euro/App/"&gt;http://proxy.euro/App/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Web URL:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://websvr/App-US/"&gt;http://websvr/App-US/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://websvr/App-EURO/"&gt;http://websvr/App-EURO/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So some of the requests pass through ARR correctly with our rules, but when we do a Response.Redirect to a relative path using any of the following techniques it add the VDIR name to the requested path and ARR then maps this request incorrectly:&lt;/p&gt;
&lt;p&gt;Response.Redirect(&amp;quot;../Menu.aspx&amp;quot;)&lt;/p&gt;
&lt;p&gt;Response.Redirect(&amp;quot;~/Menu.aspx&amp;quot;)&lt;/p&gt;
&lt;p&gt;Resonse.Redirect(this.ResolveUrl(&amp;quot;~/Menu.aspx&amp;quot;))&lt;/p&gt;
&lt;p&gt;Resonse.Redirect(this.ResolveUrl(&amp;quot;../Menu.aspx&amp;quot;))&lt;/p&gt;
&lt;p&gt;&amp;nbsp;So, what is the best practice for handling this issue. Note that I need the website code to work when accessed both directly and via ARR.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Thanks.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- Phil&lt;/p&gt;</description></item><item><title>How To Output the Filename Where Match Occurs?</title><link>http://forums.iis.net/p/1162581/1924477.aspx#1924477</link><pubDate>Thu, 12 Nov 2009 16:58:33 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1924477</guid><dc:creator>mOrrIsEmSaBeR</dc:creator><cs:applicationKey>advanced_topics-51</cs:applicationKey><description>&lt;p&gt;Hello,&lt;/p&gt;&lt;p&gt;I&amp;#39;m running logparser in a C# application, and I&amp;#39;m using the ExecuteBatch method.&lt;/p&gt;&lt;p&gt;This runs nicely (I think) because I do get the output file,&amp;nbsp; but the method returns false.&lt;/p&gt;&lt;p&gt;Now the main question I wanted to ask is.&lt;/p&gt;&lt;p&gt;since my query is searching in a bunch of files, I was wondering if it&amp;#39;s possible to output the file name where the match occurs?&lt;/p&gt;&lt;p&gt;&amp;nbsp;e.g.&lt;/p&gt;&lt;p&gt;Query: SELECT DESC INTO OutPutFile.csv FROM C:\\Somefolder\\*.* HAVING DESC LIKE &amp;#39;%My Match%&amp;#39;&lt;/p&gt;&lt;p&gt;&amp;nbsp;the output file will only contain the DESC Field.&lt;/p&gt;&lt;p&gt;&amp;nbsp;And I wanted to have the DESC Field and also the FILENAME.&lt;/p&gt;&lt;p&gt;Thanks in advance,&lt;/p&gt;&lt;p&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; André Pedro Peixoto&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>How to know which IIS versions are installed from a WinForm in C#?</title><link>http://forums.iis.net/p/1162404/1923661.aspx#1923661</link><pubDate>Fri, 06 Nov 2009 15:19:09 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1923661</guid><dc:creator>ErTelis</dc:creator><cs:applicationKey>iis7_-_general--1</cs:applicationKey><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;I was looking all over the Internet to find an answer I&amp;#39;m sure there must be an easy way to get the IIS versions running on the Server.&lt;/p&gt;
&lt;p&gt;My old methods aren&amp;#39;t working anymore on Windows 7 and Windows Server 2008:&lt;br /&gt;Old broken Method:&lt;/p&gt;&lt;font size="1"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="1"&gt;&lt;font color="#2b91af" size="1"&gt;DirectoryEntry&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt; entry = &lt;/font&gt;&lt;font color="#0000ff" size="1"&gt;&lt;font color="#0000ff" size="1"&gt;null&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="1"&gt;&lt;font color="#2b91af" size="1"&gt;eWebServerVersions&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt; iisVersion = &lt;/font&gt;&lt;font color="#2b91af" size="1"&gt;&lt;font color="#2b91af" size="1"&gt;eWebServerVersions&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;.Unknown;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1"&gt;&lt;font color="#0000ff" size="1"&gt;try&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;
&lt;p&gt;{&lt;/p&gt;entry = &lt;/font&gt;&lt;font color="#0000ff" size="1"&gt;&lt;font color="#0000ff" size="1"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="1"&gt;&lt;font color="#2b91af" size="1"&gt;DirectoryEntry&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="1"&gt;&lt;font color="#a31515" size="1"&gt;&amp;quot;IIS://LOCALHOST/W3SVC/INFO&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;);&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt; 
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1"&gt;&lt;font color="#0000ff" size="1"&gt;catch&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;
&lt;p&gt;{&lt;/p&gt;trace.Log(&lt;/font&gt;&lt;font color="#2b91af" size="1"&gt;&lt;font color="#2b91af" size="1"&gt;EnumTraceLevel&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;.methods, &lt;/font&gt;&lt;font color="#a31515" size="1"&gt;&lt;font color="#a31515" size="1"&gt;&amp;quot;IISAppPool.cs&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;, &lt;/font&gt;&lt;font color="#a31515" size="1"&gt;&lt;font color="#a31515" size="1"&gt;&amp;quot;GetIISServerVersion&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;, &lt;/font&gt;&lt;font color="#a31515" size="1"&gt;&lt;font color="#a31515" size="1"&gt;&amp;quot;UNKNOWN VERSION&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;);&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt; 
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1"&gt;&lt;font color="#0000ff" size="1"&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt; ver = 5;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1"&gt;&lt;font color="#0000ff" size="1"&gt;try&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;
&lt;p&gt;{&lt;/p&gt;ver = (&lt;/font&gt;&lt;font color="#0000ff" size="1"&gt;&lt;font color="#0000ff" size="1"&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;)entry.Properties[&lt;/font&gt;&lt;font color="#a31515" size="1"&gt;&lt;font color="#a31515" size="1"&gt;&amp;quot;MajorIISVersionNumber&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;].Value;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt; 
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/font&gt;
&lt;p&gt;I hope there is a nice clean way multiplatform ...&lt;/p&gt;Something like &lt;font size="1"&gt;&lt;/font&gt;&lt;font size="1"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="1"&gt;&lt;font color="#2b91af" size="1"&gt;ServerManager&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt; iisManager = &lt;/font&gt;&lt;font color="#0000ff" size="1"&gt;&lt;font color="#0000ff" size="1"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="1"&gt;&lt;font color="#2b91af" size="1"&gt;ServerManager&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;();&lt;/p&gt;&lt;/font&gt;
&lt;p&gt;iisManager.Version !!!!!&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Or do I have to check which platform I&amp;#39;m on and then assume the IIS version from it?&lt;/p&gt;
&lt;p&gt;Like it says here: &lt;a href="http://stackoverflow.com/questions/446390/how-to-detect-iis-version-using-c"&gt;http://stackoverflow.com/questions/446390/how-to-detect-iis-version-using-c&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;I would just check the version of the OS: xp has IIS 5.1, Server 2003 has IIS 6 and vista/Server 2008 has IIS 7.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://stackoverflow.com/questions/545666/how-to-translate-ms-windows-os-version-numbers-into-product-names-in-net"&gt;&lt;font color="#4a6b82"&gt;&lt;em&gt;Here&amp;#39;s how to check the version of the OS&lt;/em&gt;&lt;/font&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Thanks a lot for your help&lt;/p&gt;</description></item><item><title>Enable wildvard in iis 5.1</title><link>http://forums.iis.net/p/1162021/1921890.aspx#1921890</link><pubDate>Fri, 23 Oct 2009 14:03:53 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1921890</guid><dc:creator>bongii</dc:creator><cs:applicationKey>aspnet_administration--1</cs:applicationKey><description>&lt;p&gt;Hi.&amp;nbsp;&lt;/p&gt;&lt;p&gt;When I´m trying to enable aspnet_isapi.dll to handle .* i get this stupid error: &amp;quot;Wrint extension format&amp;quot;. &lt;/p&gt;&lt;p&gt;Is it somehow possible to enable wildcard mapping (used to urlrewrite) in iis 5.1 -&amp;gt; Windows XP?&lt;/p&gt;&lt;p&gt;My manager is Internet Information Services (IIS6) Manager&lt;br /&gt;&lt;/p&gt;</description></item><item><title>FTP7.5 - C# Auth w/ Dynamic IP</title><link>http://forums.iis.net/p/1161937/1921521.aspx#1921521</link><pubDate>Wed, 21 Oct 2009 10:07:38 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1921521</guid><dc:creator>adrianmaule</dc:creator><cs:applicationKey>iis_75_-_application_warm-up_module-41</cs:applicationKey><description>I&amp;#39;ve been writing a custom authentication provider for my ftp 7.5 on Server 2008R2 and have found that IFtpLogProvider.Log() returns incorrect LocalIP and RemoteIP addresses.  This was addressed with an .msi for 7.5 from August 3, 2009.  However, when I download the .msi and run it, the install fails and reports that it only works on Server 2008.  I need the RemoteIP to report properly for a custom restriction of a client to a single source ip address, which I have stored in a database.

I there a way to correct the RemoteIP reporting for FTP7.5/2008R2 or another object that can be used in Managed Code to provide the RemoteIP of the FTP request?

Please advise.</description></item><item><title>My Cache HttpModule and Memory Leaks</title><link>http://forums.iis.net/p/1161881/1921206.aspx#1921206</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><cs:applicationKey>iis7_-_extensibility--1</cs:applicationKey><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>DLLImport doesn't work with Web Service</title><link>http://forums.iis.net/p/1161507/1919627.aspx#1919627</link><pubDate>Tue, 06 Oct 2009 09:44:58 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1919627</guid><dc:creator>Superkew</dc:creator><cs:applicationKey>troubleshooting--1</cs:applicationKey><description>Hey
&lt;br /&gt;
&lt;br /&gt;
I posted this on the asp.net forum, and they suggested to put it here. Sorry for the formatting.
&lt;br /&gt;
&lt;br /&gt;
I really hope you can help me!
&lt;br /&gt;
&lt;br /&gt;
http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/e3bcbf6f-c51a-4c53-89f2-8e083c5e8981
&lt;br /&gt;
&lt;br /&gt;
I have been searching many sites and forums. I am developing on the same set of dlls as this post:
http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/d5a92d8e-1c11-44af-b635-4f89471a3351
&lt;br /&gt;
&lt;br /&gt;
The issue I have is that these are the new c++ dlls from the same source. There is one main dll (agproxy.dll), and 3 dependency dlls: utility.dll, sockets.dll, async.dll.
&lt;br /&gt;
&lt;br /&gt;
When natively consuming the dlls in an application it works 100%. When I use the run debug on a web service in VS2008 (.NET 2.0) it works. (dlls get encapsulated in the wonderful MS exe that holds the debug env.)
&lt;br /&gt;
&lt;br /&gt;
BUT as soon as I publish to IIS... fails.
&lt;br /&gt;
&lt;br /&gt;
Unable to load DLL &amp;#39;agproxy.dll&amp;#39;: A dynamic link library (DLL) initialization routine failed. (Exception from HRESULT: 0x8007045A)
&lt;br /&gt;
&lt;br /&gt;
Here is some information...
&lt;br /&gt;
&lt;br /&gt;
We use an unsafe class, and pass some values by ref in the following manner:
&lt;br /&gt;
&lt;br /&gt;
[WebMethod]
        public string OpenUsingLocal()
        {
            int blah;
            // This method will create a new transaction.
            try
            {
                    ft2_open_transaction(0, &amp;amp;blah, 2);
            }
            catch (Exception ex)
            {
                return ex.Message;
            }

            return &amp;quot;Success&amp;quot;;
        }

        [DllImport(&amp;quot;agproxy.dll&amp;quot;)]
        public static extern int ft2_open_transaction(int invoicehandlex, int* transactionhandle, int timeout);
&lt;br /&gt;
&lt;br /&gt;
I have also tried manually setting permission on the folder and dlls to full access for all IIS users and the Everyone account to just see if it works.
&lt;br /&gt;
&lt;br /&gt;
Any help would be appreciated!
&lt;br /&gt;
&lt;br /&gt;
I have a log from process monitor here. As you can see the search pattern and how it loads the files... I have only pasted from the IIS process w3wp.exe.
&lt;br /&gt;
&lt;br /&gt;
w3wp.exe QueryOpen C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\nomadtest\e0b02f7d\7d2f67bb\assembly\dl3\5dcabd59\1c759893_4943ca01\agproxy.dll NAME NOT FOUND 
w3wp.exe QueryOpen C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\nomadtest\e0b02f7d\7d2f67bb\assembly\dl3\5dcabd59\1c759893_4943ca01\agproxy.dll NAME NOT FOUND  
w3wp.exe QueryOpen C:\WINDOWS\system32\inetsrv\agproxy.dll SUCCESS CreationTime: 10/5/2009 2:58:35 PM, LastAccessTime: 10/5/2009 5:06:33 PM, LastWriteTime: 8/26/2008 6:32:40 AM, ChangeTime: 10/5/2009 3:30:23 PM, AllocationSize: 155,648, EndOfFile: 155,648, FileAttributes: A
w3wp.exe CreateFile C:\WINDOWS\system32\inetsrv\agproxy.dll SUCCESS Desired Access: Read Data/List Directory, Execute/Traverse, Synchronize, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: n/a, ShareMode: Read, Delete, AllocationSize: n/a, OpenResult: Opened
w3wp.exe CreateFileMapping C:\WINDOWS\system32\inetsrv\agproxy.dll SUCCESS SyncType: SyncTypeCreateSection, PageProtection: PAGE_EXECUTE
w3wp.exe QueryStandardInformationFile C:\WINDOWS\system32\inetsrv\agproxy.dll SUCCESS AllocationSize: 155,648, EndOfFile: 155,648, NumberOfLinks: 1, DeletePending: False, Directory: False
w3wp.exe CreateFileMapping C:\WINDOWS\system32\inetsrv\agproxy.dll SUCCESS SyncType: SyncTypeOther
w3wp.exe CreateFileMapping C:\WINDOWS\system32\inetsrv\agproxy.dll SUCCESS SyncType: SyncTypeOther
w3wp.exe CloseFile C:\WINDOWS\system32\inetsrv\agproxy.dll SUCCESS 
w3wp.exe Load Image C:\WINDOWS\system32\inetsrv\agproxy.dll SUCCESS Image Base: 0x10950000, Image Size: 0x28000
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\agproxy.dll SUCCESS Offset: 147,456, Length: 8,192, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\agproxy.dll SUCCESS Offset: 4,096, Length: 32,768, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\agproxy.dll SUCCESS Offset: 36,864, Length: 32,768, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\agproxy.dll SUCCESS Offset: 69,632, Length: 32,768, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\agproxy.dll SUCCESS Offset: 102,400, Length: 12,288, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\agproxy.dll SUCCESS Offset: 114,688, Length: 16,384, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\agproxy.dll SUCCESS Offset: 131,072, Length: 8,192, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\agproxy.dll SUCCESS Offset: 139,264, Length: 8,192, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe QueryOpen C:\WINDOWS\system32\inetsrv\utility.dll SUCCESS CreationTime: 10/2/2009 11:25:05 AM, LastAccessTime: 10/5/2009 5:06:33 PM, LastWriteTime: 8/26/2008 6:32:34 AM, ChangeTime: 10/5/2009 3:30:23 PM, AllocationSize: 176,128, EndOfFile: 176,128, FileAttributes: A
w3wp.exe CreateFile C:\WINDOWS\system32\inetsrv\utility.dll SUCCESS Desired Access: Read Data/List Directory, Execute/Traverse, Synchronize, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: n/a, ShareMode: Read, Delete, AllocationSize: n/a, OpenResult: Opened
w3wp.exe CreateFileMapping C:\WINDOWS\system32\inetsrv\utility.dll SUCCESS SyncType: SyncTypeCreateSection, PageProtection: PAGE_EXECUTE
w3wp.exe QueryStandardInformationFile C:\WINDOWS\system32\inetsrv\utility.dll SUCCESS AllocationSize: 176,128, EndOfFile: 176,128, NumberOfLinks: 1, DeletePending: False, Directory: False
w3wp.exe CreateFileMapping C:\WINDOWS\system32\inetsrv\utility.dll SUCCESS SyncType: SyncTypeOther
w3wp.exe CreateFileMapping C:\WINDOWS\system32\inetsrv\utility.dll SUCCESS SyncType: SyncTypeOther
w3wp.exe CloseFile C:\WINDOWS\system32\inetsrv\utility.dll SUCCESS 
w3wp.exe Load Image C:\WINDOWS\system32\inetsrv\utility.dll SUCCESS Image Base: 0x10eb0000, Image Size: 0x2d000
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\utility.dll SUCCESS Offset: 163,840, Length: 12,288, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\utility.dll SUCCESS Offset: 4,096, Length: 32,768, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\utility.dll SUCCESS Offset: 36,864, Length: 32,768, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\utility.dll SUCCESS Offset: 69,632, Length: 32,768, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\utility.dll SUCCESS Offset: 102,400, Length: 16,384, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\utility.dll SUCCESS Offset: 118,784, Length: 8,192, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\utility.dll SUCCESS Offset: 126,976, Length: 16,384, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\utility.dll SUCCESS Offset: 143,360, Length: 12,288, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\utility.dll SUCCESS Offset: 155,648, Length: 8,192, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe QueryOpen C:\WINDOWS\system32\inetsrv\async.dll SUCCESS CreationTime: 10/2/2009 11:25:05 AM, LastAccessTime: 10/5/2009 5:06:33 PM, LastWriteTime: 8/26/2008 6:32:40 AM, ChangeTime: 10/5/2009 3:30:23 PM, AllocationSize: 90,112, EndOfFile: 90,112, FileAttributes: A
w3wp.exe CreateFile C:\WINDOWS\system32\inetsrv\async.dll SUCCESS Desired Access: Read Data/List Directory, Execute/Traverse, Synchronize, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: n/a, ShareMode: Read, Delete, AllocationSize: n/a, OpenResult: Opened
w3wp.exe CreateFileMapping C:\WINDOWS\system32\inetsrv\async.dll SUCCESS SyncType: SyncTypeCreateSection, PageProtection: PAGE_EXECUTE
w3wp.exe QueryStandardInformationFile C:\WINDOWS\system32\inetsrv\async.dll SUCCESS AllocationSize: 90,112, EndOfFile: 90,112, NumberOfLinks: 1, DeletePending: False, Directory: False
w3wp.exe CreateFileMapping C:\WINDOWS\system32\inetsrv\async.dll SUCCESS SyncType: SyncTypeOther
w3wp.exe CreateFileMapping C:\WINDOWS\system32\inetsrv\async.dll SUCCESS SyncType: SyncTypeOther
w3wp.exe CloseFile C:\WINDOWS\system32\inetsrv\async.dll SUCCESS 
w3wp.exe Load Image C:\WINDOWS\system32\inetsrv\async.dll SUCCESS Image Base: 0x2460000, Image Size: 0x17000
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\async.dll SUCCESS Offset: 81,920, Length: 8,192, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\async.dll SUCCESS Offset: 4,096, Length: 32,768, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\async.dll SUCCESS Offset: 36,864, Length: 12,288, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\async.dll SUCCESS Offset: 49,152, Length: 8,192, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\async.dll SUCCESS Offset: 57,344, Length: 16,384, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\async.dll SUCCESS Offset: 73,728, Length: 8,192, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe QueryOpen C:\WINDOWS\system32\inetsrv\sockets.dll SUCCESS CreationTime: 10/2/2009 11:25:05 AM, LastAccessTime: 10/5/2009 5:06:33 PM, LastWriteTime: 8/26/2008 6:32:40 AM, ChangeTime: 10/5/2009 3:30:23 PM, AllocationSize: 86,016, EndOfFile: 86,016, FileAttributes: A
w3wp.exe CreateFile C:\WINDOWS\system32\inetsrv\sockets.dll SUCCESS Desired Access: Read Data/List Directory, Execute/Traverse, Synchronize, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: n/a, ShareMode: Read, Delete, AllocationSize: n/a, OpenResult: Opened
w3wp.exe CreateFileMapping C:\WINDOWS\system32\inetsrv\sockets.dll SUCCESS SyncType: SyncTypeCreateSection, PageProtection: PAGE_EXECUTE
w3wp.exe QueryStandardInformationFile C:\WINDOWS\system32\inetsrv\sockets.dll SUCCESS AllocationSize: 86,016, EndOfFile: 86,016, NumberOfLinks: 1, DeletePending: False, Directory: False
w3wp.exe CreateFileMapping C:\WINDOWS\system32\inetsrv\sockets.dll SUCCESS SyncType: SyncTypeOther
w3wp.exe CreateFileMapping C:\WINDOWS\system32\inetsrv\sockets.dll SUCCESS SyncType: SyncTypeOther
w3wp.exe CloseFile C:\WINDOWS\system32\inetsrv\sockets.dll SUCCESS 
w3wp.exe Load Image C:\WINDOWS\system32\inetsrv\sockets.dll SUCCESS Image Base: 0x10ff0000, Image Size: 0x16000
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\sockets.dll SUCCESS Offset: 77,824, Length: 8,192, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\sockets.dll SUCCESS Offset: 4,096, Length: 32,768, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\sockets.dll SUCCESS Offset: 36,864, Length: 8,192, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\sockets.dll SUCCESS Offset: 45,056, Length: 8,192, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\sockets.dll SUCCESS Offset: 53,248, Length: 16,384, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
w3wp.exe ReadFile C:\WINDOWS\system32\inetsrv\sockets.dll SUCCESS Offset: 69,632, Length: 8,192, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O</description></item></channel></rss>