<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>Filter.NET Framework</title><link>http://www.codeplex.com/filterdotnet/Project/ProjectRss.aspx</link><description>Filter.NET is a framework designed to expose the ISAPI Filters API to .NET while maintaining the power, flexibility and efficiency of the IIS platform.</description><item><title>New Post: OnSendRawData and Images</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=32065</link><description>&lt;div style="line-height: normal;"&gt;Hi Cris,&lt;br&gt;
&lt;br&gt;
Subscribing to&amp;nbsp;SF_NOTIFY_SEND_RAW_DATA, caching data, modifying it and send it to the client in an ISAPI Filter has always been been a performance killer in IIS/5.x and IIS 6. IIS 7 allows you to use kernel (http.sys) caching, but then again you always suffer from the memory problem due to caching the whole thing.&amp;nbsp;As for the Filter.NET issue, you may try to set the byte array to 0 - new byte[0] - to avoid&amp;nbsp;the original data from being sent. You then cache it until it ends - OnLog, or OnEndOfRequest - and then flush it to the client upon modification.&lt;br&gt;
&lt;br&gt;
David Wang has some good pointers on ISAPI Filters issues and how-to's:&lt;br&gt;
&lt;a href="http://blogs.msdn.com/david.wang/archive/2006/03/11/Why-some-ISAPI-Filter-events-trigger-multiple-times-per-request.aspx"&gt;http://blogs.msdn.com/david.wang/archive/2006/03/11/Why-some-ISAPI-Filter-events-trigger-multiple-times-per-request.aspx&lt;/a&gt;&lt;br&gt;
&lt;a href="http://blogs.msdn.com/david.wang/archive/2005/12/14/How-IIS6-Compression-Schemes-interact-with-ISAPI-Filters.aspx"&gt;http://blogs.msdn.com/david.wang/archive/2005/12/14/How-IIS6-Compression-Schemes-interact-with-ISAPI-Filters.aspx&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
However ...&amp;nbsp;you may find more&amp;nbsp;useful and performant to deal with the images at another level, like an HttpModule. ISAPI Filters are quite delicate and affect the whole IIS, so care must be taken when taking this direction.&lt;br&gt;
&lt;br&gt;
Hope it helps&lt;br&gt;
Tiago Halm
&lt;/div&gt;</description><author>thalm</author><pubDate>Mon, 28 Jul 2008 17:57:30 GMT</pubDate><guid isPermaLink="false">New Post: OnSendRawData and Images 20080728055730P</guid></item><item><title>New Post: OnSendRawData and Images</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=32065</link><description>&lt;div style="line-height: normal;"&gt;... some time later ...&lt;br&gt;
&lt;br&gt;
The images are processed in packets (in my case 4096 byte chunks).&amp;nbsp; So a single image comes streamed in many events.&lt;br&gt;
&lt;br&gt;
If I catch the first two events and re-write the data with a e.Context.SetData( myBytes) then all is OK.&amp;nbsp; However, if I rewrite more than two the browser is not getting a diaplayable image.&lt;br&gt;
I have also written the bytes to disk so I can see that the format is OK.&lt;br&gt;
&lt;br&gt;
An example of handling a series of OnSendRawData events, getting the image and manipulating it (which of course means that the image size is out-of-step with the rest of the stream) would be great.&lt;br&gt;
&lt;br&gt;
I have tried waiting until the end of the stream and doing a WriteClient() but in the meantime the original bytes have already been sent.&amp;nbsp; I tried cancelling the bytes but e.Context.SetData(null) did not seem to get me very far!&lt;br&gt;
&lt;br&gt;
&amp;nbsp;Thanks in advance, Cris&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;</description><author>crisp_1S</author><pubDate>Thu, 24 Jul 2008 12:03:19 GMT</pubDate><guid isPermaLink="false">New Post: OnSendRawData and Images 20080724120319P</guid></item><item><title>New Post: OnSendRawData and Images</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=32065</link><description>&lt;div style="line-height: normal;"&gt;Hi,&lt;br&gt;
&lt;br&gt;
I am trying to intercept an image for additional processing but with the SendRawData handler I seem to get large images returned in several individual events.&lt;br&gt;
&lt;br&gt;
Is there an alternative method or a suggestion as to how to manage images, both on the e.Context.GetData() and SetData().&amp;nbsp; I am confused (easily) as the byte array from GetData returns the same size for the multiple requests.&lt;br&gt;
&lt;br&gt;
&amp;nbsp;Thanks - C&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;</description><author>crisp_1S</author><pubDate>Wed, 23 Jul 2008 08:20:28 GMT</pubDate><guid isPermaLink="false">New Post: OnSendRawData and Images 20080723082028A</guid></item><item><title>New Post: Problem with Filter.NET, can't make it work</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=31611</link><description>&lt;div style="line-height: normal;"&gt;Hi,&lt;br&gt;
Only after your post I understood that the filter.config is not a sample, but it's the real config file. Before I placed all these configuration in web.config of application, and dll was in the application's bin folder.&lt;br&gt;
&lt;br&gt;
So thank you for help!&lt;br&gt;
&lt;br&gt;
By the way, the registration of Filter.NET with &amp;quot;filter_regiis.exe&amp;quot; should be run only when the directory with this file is the current directory. E.g you can't just drag&amp;amp;drop this file to Start-&amp;gt;Run box and execute. You should run cmd, go to the Windows\Filter.Net\v1.0.1\ folder and only after that run registration command. I killed with this issue some time.&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;</description><author>Kamarey</author><pubDate>Wed, 16 Jul 2008 20:00:10 GMT</pubDate><guid isPermaLink="false">New Post: Problem with Filter.NET, can't make it work 20080716080010P</guid></item><item><title>New Post: Problem with Filter.NET, can't make it work</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=31611</link><description>&lt;div style="line-height: normal;"&gt;Hi Kamarey,&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Some things you may check are:&lt;/div&gt;&lt;div&gt;1. If you subscribing to OnReadRawData this event is not fired onIIS6, only on older versions &amp;lt;= IIS5.1&lt;/div&gt;&lt;div&gt;2. Make sure you installed the msi (obvious, but listed here for completeness)&lt;/div&gt;&lt;div&gt;3. Make sure you registered Filter.NET with IIS (described in 2nd link of &amp;quot;More Information&amp;quot;)&lt;/div&gt;&lt;div&gt;4. Make sure you edited filter.config to load your managed filter (described in 3rd link of &amp;quot;More Information&amp;quot;)&lt;/div&gt;&lt;div&gt;5. Look into event viewer to see if any error was logged&lt;/div&gt;&lt;div&gt;6. Open up inetmgr.exe (Internet Services Manager), go the ISAPI Filters tab on the &amp;quot;Web Sites&amp;quot; and check if Filter.NET appears in the list.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;These are some of the troubleshooting steps for now.&lt;/div&gt;&lt;div&gt;The 3 steps in the &amp;quot;More Information&amp;quot; topic - installation, registration and configuration - are all required.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;let me know how it goes.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Tiago Halm&lt;/div&gt;&lt;/div&gt;</description><author>thalm</author><pubDate>Wed, 16 Jul 2008 13:22:35 GMT</pubDate><guid isPermaLink="false">New Post: Problem with Filter.NET, can't make it work 20080716012235P</guid></item><item><title>New Post: Problem with Filter.NET, can't make it work</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=31611</link><description>&lt;div style="line-height: normal;"&gt;Hi,&lt;br&gt;
Don't know if this is the right place, but...&lt;br&gt;
I downloaded and installed and configured the Filter.NET Framework as written in &amp;quot;&lt;span id="ctl00_ctl00_Content_TabContentPanel_Content_wikiSourceLabel"&gt;&lt;strong&gt;More Information&lt;/strong&gt;&lt;/span&gt;&amp;quot; topic. I wrote a simple filter to handle OnRequest event following your samles. When I run my application, the event doesn't caught by my filter. How can I test what's wrong and where the problem is?&lt;br&gt;
&lt;br&gt;
Thanks&lt;br&gt;
&lt;/div&gt;</description><author>Kamarey</author><pubDate>Wed, 16 Jul 2008 09:50:39 GMT</pubDate><guid isPermaLink="false">New Post: Problem with Filter.NET, can't make it work 20080716095039A</guid></item><item><title>New Post: SF_NOTIFY_SEND_RESPONSE</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=31271</link><description>&lt;div style="line-height: normal;"&gt;&lt;div&gt;Hi,&lt;/div&gt;
&lt;div&gt;&lt;br&gt;
&lt;/div&gt;
When SF_NOTIFY_SEND_RESPONSE is signaled to the ISAPI Filter you only have access to the HTTP header. If you need to change any of the response bytes, its&amp;nbsp;SF_NOTIFY_SEND_RAW_DATA the one needed. However, when this notification is signaled, and it may be signaled multiple times, the HTTP Header has already been sent. So, assuming the HTTP response is not in a chunked format, the Content-Length expected by the browser should be same&amp;nbsp;amount&amp;nbsp;of bytes being sent. In other words, only in very rare cases - from the top of my head I can only think of one, like changing the letter casing which does not add/remove any byte - should you need to change the response sent back.
&lt;div&gt;&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;Another alternative is to cache the whole response (headers and payload) in a buffer, change the data needed, update the Content-Length header and finally flush the buffer to the client. However this may turn out to be a performance problem and a potential memory usage issue.&lt;br&gt;
&lt;div&gt;&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;That said, it may be a good time to evaluate the need of doing this, since it may turn out to be a performance issue to every single page.&lt;/div&gt;
&lt;div&gt;&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;Hope it helps&lt;/div&gt;
&lt;div&gt;Tiago Halm&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description><author>thalm</author><pubDate>Mon, 14 Jul 2008 11:30:15 GMT</pubDate><guid isPermaLink="false">New Post: SF_NOTIFY_SEND_RESPONSE 20080714113015A</guid></item><item><title>New Post: SF_NOTIFY_SEND_RESPONSE</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=31271</link><description>&lt;div style="line-height: normal;"&gt;Does anybody have an example of how this would work? I need to search the response back to the browser and replace some text if found. I can not find a good example of how to do this.&lt;br&gt;
&lt;br&gt;
Any help would be appreciated.&lt;br&gt;
&lt;/div&gt;</description><author>askmo</author><pubDate>Thu, 10 Jul 2008 15:29:22 GMT</pubDate><guid isPermaLink="false">New Post: SF_NOTIFY_SEND_RESPONSE 20080710032922P</guid></item><item><title>NEW POST: Modifying post data</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=26777</link><description>&lt;div class="wikidoc"&gt;
If you are developing for IIS 5.x (Windows 2000 or Windows XP), then you can use Filter.NET to view or change the full HTTP packet. However, if you're developing for IIS 6.0 then you can only view/change the HTTP headers. If the data you want to filter is sent via GET, it'll appear in the QueryString and you may have access to it. If the data is sent via POST, only IIS 5.x will let you access it.&lt;br /&gt; &lt;br /&gt;If you want to access the HTTP body and are developing for IIS 6.0, the option would be to create an ISAPI Wildcard Extension to inspect/modify the posted data. However, care must be taken when this option is chosen especially for large packets of data in non chunked mode, because you will need to change the length of the data (Content-Length) and changing the length means changing the HTTP Header. You basically end up having to buffer the whole packet before delivering it to the ASP.&lt;br /&gt; &lt;br /&gt;Tiago Halm&lt;br /&gt;
&lt;/div&gt;</description><author>thalm</author><pubDate>Wed, 30 Apr 2008 20:27:52 GMT</pubDate><guid isPermaLink="false">NEW POST: Modifying post data 20080430082752P</guid></item><item><title>NEW POST: Modifying post data</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=26777</link><description>&lt;div class="wikidoc"&gt;
Hi, is it possible to modify the post variables for a Classic ASP request using Filter .NET? I've not had much success changing inbound data. I am trying to clean up post data to prevent SQL Injection attacks.&lt;br /&gt;
&lt;/div&gt;</description><author>ksdn</author><pubDate>Tue, 29 Apr 2008 09:38:12 GMT</pubDate><guid isPermaLink="false">NEW POST: Modifying post data 20080429093812A</guid></item><item><title>NEW POST: Filter .NET ReadRawData event issue.</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=25492</link><description>&lt;div class="wikidoc"&gt;
When I say IIS 5.0 only supports ReadRawData I mean IIS 5.0 (Win 2000) and IIS 5.1 (Win XP). If the latter is your case, best steps would be to unregister Filter.NET, register it again.&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;filter_regiis.exe -u&lt;/li&gt;&lt;li&gt;filter_regiis.exe -i&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;Afterwards, try again to access a page inside your IIS with DbgView.exe open. Look into Event Viewer for any errors of nothing appears. If it doesn't work yet, re-check your Filter.NET configuration file, and also look into the ISAPI Filter order inside IIS with inetmgr.exe&lt;br /&gt; &lt;br /&gt;let me know what you get&lt;br /&gt; &lt;br /&gt;Tiago Halm&lt;br /&gt;
&lt;/div&gt;</description><author>thalm</author><pubDate>Wed, 09 Apr 2008 21:31:04 GMT</pubDate><guid isPermaLink="false">NEW POST: Filter .NET ReadRawData event issue. 20080409093104P</guid></item><item><title>NEW POST: Filter .NET ReadRawData event issue.</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=25492</link><description>&lt;div class="wikidoc"&gt;
Are you running Filter.NET in IIS6? IIS6 does not support the ReadRawData notification (event), only IIS5 does.&lt;br /&gt; &lt;br /&gt;Tiago Halm&lt;br /&gt;
&lt;/div&gt;</description><author>thalm</author><pubDate>Tue, 08 Apr 2008 18:51:22 GMT</pubDate><guid isPermaLink="false">NEW POST: Filter .NET ReadRawData event issue. 20080408065122P</guid></item><item><title>NEW POST: Filter .NET ReadRawData event issue.</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=25492</link><description>&lt;div class="wikidoc"&gt;
I am trying to access ReadRawData event in TraceRequest sample given in this website but it doesnt write out any trace output. On the contrary, with SendRawData event I can get trace output. Can anyone please tell me what the problem is? Below is my code&lt;br /&gt;namespace FilterDotNet.Samples.TraceRequest&lt;br /&gt;{&lt;br /&gt;    public class Filter : IHttpFilter&lt;br /&gt;    {&lt;br /&gt;        void IHttpFilter.Init(IFilterEvents events)&lt;br /&gt;        {&lt;br /&gt;            events.ReadRawData += new EventHandler&amp;lt;RawDataEventArgs&amp;gt;(ReadRawData );&lt;br /&gt;        }&lt;br /&gt; &lt;br /&gt;        void ReadRawData (object sender, RawDataEventArgs e)&lt;br /&gt;        {&lt;br /&gt;            Trace.WriteLine(ASCIIEncoding.ASCII.GetString(e.Context.GetData()));&lt;br /&gt;        }&lt;br /&gt; &lt;br /&gt;        void IHttpFilter.Dispose()&lt;br /&gt;        {&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;
&lt;/div&gt;</description><author>silverunicorn</author><pubDate>Mon, 07 Apr 2008 22:49:24 GMT</pubDate><guid isPermaLink="false">NEW POST: Filter .NET ReadRawData event issue. 20080407104924P</guid></item><item><title>NEW POST: ISAPI Module Support</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=21457</link><description>&lt;div class="wikidoc"&gt;
Its time I need, encouragement I have plenty ;) &lt;br /&gt; &lt;br /&gt;cheers,&lt;br /&gt;Tiago Halm&lt;br /&gt;
&lt;/div&gt;</description><author>thalm</author><pubDate>Mon, 25 Feb 2008 17:55:09 GMT</pubDate><guid isPermaLink="false">NEW POST: ISAPI Module Support 20080225055509P</guid></item><item><title>NEW POST: ISAPI Module Support</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=21457</link><description>&lt;div class="wikidoc"&gt;
I would be very interested in a .NET object model to the ISAPI extension API :)&lt;br /&gt; &lt;br /&gt;Could some vine help your encouragement?&lt;br /&gt;
&lt;/div&gt;</description><author>jonasl</author><pubDate>Mon, 25 Feb 2008 09:21:46 GMT</pubDate><guid isPermaLink="false">NEW POST: ISAPI Module Support 20080225092146A</guid></item><item><title>NEW POST: FilterSession</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=21566</link><description>&lt;div class="wikidoc"&gt;
I get the user rights information from an LDAP store, and it is cached in process after the first request, until the user either logs out or the session ends.  I was able to get the cookie transfer working, so thanks again for your help.&lt;br /&gt; &lt;br /&gt;Jeff&lt;br /&gt;
&lt;/div&gt;</description><author>Fndr70</author><pubDate>Thu, 14 Feb 2008 03:42:17 GMT</pubDate><guid isPermaLink="false">NEW POST: FilterSession 20080214034217A</guid></item><item><title>NEW POST: FilterSession</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=21566</link><description>&lt;div class="wikidoc"&gt;
Hi Jeff,&lt;br /&gt; &lt;br /&gt;Filter.NET does not have a cookie object, so for now its something that must set in raw mode, as you mentioned, via the http header Set-Cookie.&lt;br /&gt; &lt;br /&gt;As for the session established between the browser and IIS, when the browser hits VDir1 on AppPool1, and next it hits VDir2 on AppPool2, the TCP/IP connection established is still the same (10.0.0.10:24123 =&amp;gt; youriis:80). This happens because its not the AppPool that has a socket listening, its the kernel (HTTP.sys) and knows how to route the request details to the appropriate AppPool. &lt;br /&gt; &lt;br /&gt;Since Filter.NET runs in each AppPool, there is no simple way to transfer the data stored between the 2 processes. When I mentioned EndOfNetSession above, this event is only called when the TCP/IP connection is in fact dropped or closed, not when the browser &amp;quot;switches&amp;quot; AppPool in the backend due the association of VDirs with AppPools.&lt;br /&gt; &lt;br /&gt;In order to delete the cookie header (which is what you ultimately want to do when trying to clear its value) you can set its value to '\0' as mentioned in &lt;a href="http://msdn2.microsoft.com/en-us/library/ms525099(VS.85).aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/ms525099(VS.85).aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt; &lt;br /&gt;I understand the database hit, and agree that would be a performance hit, but where do you fetch the information regarding &amp;quot;user rights information for the current logged on user (access levels, application access, etc)&amp;quot; which you inject as custom http request headers?&lt;br /&gt; &lt;br /&gt;Tiago Halm&lt;br /&gt;
&lt;/div&gt;</description><author>thalm</author><pubDate>Wed, 13 Feb 2008 11:46:26 GMT</pubDate><guid isPermaLink="false">NEW POST: FilterSession 20080213114626A</guid></item><item><title>NEW POST: FilterSession</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=21566</link><description>&lt;div class="wikidoc"&gt;
Well, I thought about saving this data in a SQL database instead of the browser cookies, but I untimately decided against it, because I did not want to incurr a database hit on every request, as my scenario is as follows:&lt;br /&gt; &lt;br /&gt;-  My filter.net module injects user rights information for the current logged on user (access levels, application access, etc) into the HTTP headers.  Obviously it must do this for every request, so my various asp and aspx pages can access the headers.&lt;br /&gt; &lt;br /&gt;- It is also possible for a user to impersonate another user.  This is where I am using the cookies.  I must store information that the current logged on user is impersonating another user.  And when the user crosses into a web app that might be running in another process, something needs to tell that process the user is impersonating someone else (i.e. the cookies).  So on every request I must check my &amp;quot;impersonation flag&amp;quot; to see if I have to inject information for the logged on user, or the impersonated user, into the header.  If I were storing my impersonation flag in a SQL database, I'd be hitting the database every request, and that's not something I want to do unless I absolutely have to.  &lt;br /&gt; &lt;br /&gt;So, unless I'm missing something, I don't see a &amp;quot;cookies&amp;quot; collection in Filter.NET.  So I was trying to inject the cookies directly into the HTTP header using the Set-Cookie header.  I was able to inject a session cookie like this (as I don't want the cookies persisting in anyway on the user's computer), but I was wondering if you knew how to remove the cookie then?  I tried to use the Set-Cookie header to set the same cookie value to blank, but that didn't work.  I know the cookie will be cleared when the session ends, is there a way to end the session in Filter.Net, i.e. Session.Abandon in ASP?&lt;br /&gt; &lt;br /&gt;Thanks, &lt;br /&gt; &lt;br /&gt;Jeff&lt;br /&gt;
&lt;/div&gt;</description><author>Fndr70</author><pubDate>Wed, 13 Feb 2008 00:50:31 GMT</pubDate><guid isPermaLink="false">NEW POST: FilterSession 20080213125031A</guid></item><item><title>NEW POST: FilterSession</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=21566</link><description>&lt;div class="wikidoc"&gt;
:)&lt;br /&gt; &lt;br /&gt;That is one of the reasons why Microsoft adopted a different strategy for sessions with ASP.NET, allowing a session (something that in ASP was only available InProc) to be stored InProc, StateServer, SQLServer or Custom.&lt;br /&gt; &lt;br /&gt;By the same token, a good alternative for your scenario is to store the browser related data in a shared storage like a database. ISAPI Filters are DLLs, so there is a separate instance in each process (executable). If you want to share data between ISAPI Filter instances you need a central storage reachable by each instance. How do you relate the data stored with the browser session? Thats where cookies come in, which can contain a simple reference (like a GUID) which allows you to point to the correct data in the database associated with the browser.&lt;br /&gt; &lt;br /&gt;Now, lets discuss the cookie creation. What is the scope of the data stored? You can have the data associated with every single browser instance of the client, or you can have the data associated with a specific browser instance of the client. That should be the difference between creating a disk cookie or a session cookie. If you choose a session cookie, then remember that the client TCP/IP connection (session) terminates when the EndOfNetSession event occurs. This is the last event called when the TCP/IP connection is dropped (ex: the client closes the browser). This event allows you to clean the data stored in the database related to the client. Otherwise you can always clean the data in an &amp;quot;end of day clean up process&amp;quot;.&lt;br /&gt; &lt;br /&gt;Let me know if all this makes sense.&lt;br /&gt; &lt;br /&gt;Tiago Halm&lt;br /&gt;
&lt;/div&gt;</description><author>thalm</author><pubDate>Tue, 12 Feb 2008 17:53:06 GMT</pubDate><guid isPermaLink="false">NEW POST: FilterSession 20080212055306P</guid></item><item><title>NEW POST: FilterSession</title><link>http://www.codeplex.com/filterdotnet/Thread/View.aspx?ThreadId=21566</link><description>&lt;div class="wikidoc"&gt;
OK, that's what I figured.  But, I'm guessing that since there is one instance of a Filter.NET module per app pool (app domain) in IIS, then anything I set in the FilterSession is only available inside that same app pool, even if requests from the same IP/port might be going to another app pool?  A problem I have encountered is that on my web site, I have three app pools, and thus one Filter.net filter in each, which was fine, until I needed to basically broadcast an action that occurred in one filter.net instance to other instances.  I can obviously set a cookie in the headers, but I was looking for something a little more elegant.  &lt;br /&gt; &lt;br /&gt;Jeff&lt;br /&gt;
&lt;/div&gt;</description><author>Fndr70</author><pubDate>Tue, 12 Feb 2008 14:46:37 GMT</pubDate><guid isPermaLink="false">NEW POST: FilterSession 20080212024637P</guid></item></channel></rss>