|
Large Uploads in ASP
FileUpEE's ISAPI FilterFileUpEE's ISAPI filter significantly improves the performance of very large uploads. With the filter, upload size is unlimited. The ISAPI filter intercepts an upload request, reads all the data, and writes it to a temp file chunk by chunk, before forwarding the request to ASP. Note that FileUpEE can handle very large uploads in ASP without the ISAPI filter; the filter is not necessary in most cases. Most browsers support uploads of up to 2 GB; larger uploads must be generated by a client-side control that can handle very large transfers, such as SoftArtisans XFileEE. For performance reasons, the ISAPI filter will not intercept all ASP requests; only those for a file with the extension .upl will be handled by the filter. Files with the extension .asp will not be processed by the filter, and will be sent directly to ASP. This prevents burdening the server with unnecessary use of the ISAPI filter. So, to use the filter, name your ASP scripts FileName.upl. With the FileUpEE registry key FilterAspFlagExtension, you can change the file extension used to signal the filter in ASP (.upl) to a different extension of up to seven characters. By using a file extension other than .upl you can hide your web server implementation (Windows/IIS) from potential hackers. For security reasons, FileUpEE's automatic installation package will not install the ISAPI filter in IIS, or the script mapping for the upl extension. For installation instructions, see Installing the ISAPI Filter, and Allowing ASP to Process Files with the .upl Extension. The ISAPI filter caches request data before it is processed by ASP. The location of the cache files can be configured in the Windows registry. For details, see The ISAPI Filter Temp Directory.
FileUpEE Registry KeysFileUpEE includes several registry keys that allow you to optimize the performance of large uploads. For more information see, FileUpEE Registry Keys. ScriptTimeoutASP's ScriptTimeout property sets the length of time in seconds that ASP pages will allow for a script to execute. The default value of this property in IIS is 90 seconds. In a file upload, the ASP page must execute for the duration of the upload. If your user is transferring information over a slow line or is transferring a large quantity of information, it is easy to exceed this limit. To increase the ASP ScriptTimeout in IIS:
To increase the ASP ScriptTimeout in script, set the property
The FileUpEE registry key DynamicAdjustScriptTimeout allows you to ensure that large uploads and downloads will not be timed out. If this key is set to True, IIS's ScriptTimeout value will be increased until an upload or download is complete. To enable DynamicAdjustScriptTimeout:
ConnectionTimeoutIIS's Connection Timeout property sets a time in seconds at which the server will disconnect an inactive connection. The default value is 900 seconds. To allow very large uploads to complete it may be necessary to increase this value. To reset Connection Timeout:
MaxClientRequestBufferThe IIS parameter MaxClientRequestBuffer sets a maximum size for the first chunk of an HTTP request. The first chunk will usually contain only a request's header fields, which includes all data in a request that is not part of the request's entity body. The default value of MaxClientRequestBuffer is 128 KB. FileUp's ISAPI filter creates a new request and sends the entire request to ASP or ASP.NET as one chunk. When an upload contains many files, the ISAPI filter request may exceed the default value of MaxClientRequestBuffer and IIS might reject the request. To prevent this, add a MaxClientRequestBuffer key to the registry and set it to an appropriate value. Many factors can affect the size of the ISAPI filter request, but it will usually be around 128 KB per 600 uploaded files. To add MaxClientRequestBuffer to the registry and set it to a new value:
Copyright © 2005, SoftArtisans, Inc. |