Home     Products      Support      Corporate     Sign In 
Support Knowledge Base, Article 889
Product
FileUp
Title
Interceptor Technologies Available in FileUp: The ISAPI filter vs. the HttpModule
Problem
Interceptor Technologies were first introduced into FileUp in version 4. These technologies allow your ASP.NET application to circumvent the built-in .net limitation of caching an entire upload to memory. Of these, the FileUp ISAPI filter was the first. The HttpModule was introduced in version 5. This article explains the differences between these two interceptor technologies and why the HttpModule is the recommended solution for uploads in the ASP.NET environment.
Solution

Both the ISAPI filter and the HttpModule provide similar functionality - a way to intercept the HTTP Request and cache it to disk before ASP.NET can buffer it into memory. The difference between them is that of the technologies on which they are based and the location of their placement in the HTTP pipeline.

The FileUp ISAPI Filter:

The FileUp ISAPI filter is, as the name suggests, an ISAPI level filter. It is placed at the machine level node in the IIS Management Console and functions at the level of the entire webserver.

Appropriate Usage Scenarios:

  • The ISAPI filter can be used in either ASP or ASP.NET, in IIS 5.
  • The ISAPI filter is the only Interceptor Technology available in version 4 of FileUp.
  • The ISAPI filter can be a work-around for the the ASP error, "Function returned |". http://support.softartisans.com/kbview.aspx?ID=851

Reasons to consider using the HttpModule instead of the ISAPI filter:

  • ISAPI filter conflicts: Because ISAPI filters are capable of changing the shape of a request, they can easily cause conflicts with other filters and often must be installed in a certain order.
  • IIS 6 compatibility: The native processing model of IIS 6 no longer supports "Read Raw Data" ISAPI filters. The FileUp ISAPI filter is a filter of this type. In order to support this type of filter, an IIS 6 machine would need to be run in "IIS 5 Isolation Mode", which may cause conflicts with other applications that are designed specifically for the IIS 6 native processing mode.
  • If you are already running the HttpModule: The ISAPI filter is installed at the machine level and cannot be installed on a machine that is already running the HttpModule, which can be installed in the globally or at the application level.

The FileUp HttpModule: (Recommended Solution)

The FileUp HttpModule was introduced in version 5 of FileUp as a means of addressing some of the incompatibilities associated with the FileUp ISAPI filter. It is placed in either the Global Assembly Cache of your webserver (global installation) or the bin directory of your Asp.Net application (application-level installation).

Appropriate Usage Scenarios:

  • FileUp's HttpModule is an assembly specific to the .NET environment.
  • FileUp's HttpModule is fully compatible with IIS 6.
  • FileUp's HttpModule can be installed in the GAC or just at the application level.
Created : 9/20/2004 6:42:03 PM (last modified : 9/20/2004 6:42:03 PM)
Rate this article!
Comments