FileUpEE Registry Keys


FileUpEE includes several registry keys that allow you to fine-tune upload performance. To change a registry key value:

  1. Open the Start menu and select Run...


  2. Enter regedit and click Ok.


  3. Open the folder HKEY_LOCAL_MACHINE\SOFTWARE\SoftArtisans\FileUpEE\Parameters.


  4. Double click the key you want to update. An Edit DWORD Value dialog will open.


  5. In the Value Data field, enter a new value for the key.

FileUpEE Registry Keys
AuditLogDatabase

When AuditLogDestination is set to 2, FileUpEE will save log records in a database. AuditLogDatabase sets the connection string for FileUpEE's audit log database.

Use the database FileUpEEWS.mdb for audit logging on the Web server, and FileUpEEFS.mdb for audit logging on the file server. You will find these databases in doc-samples\samples\asp\resume. To see the audit log, open the table FileUpEE. The State column contains an SAUploadState value.

SAUploadState Values
saTransferComplete0
saTransferConnecting1
saTransferTransferring2
saTransferSuspended3
saTransferError4
saTransferCancelled5
saTransferIncomplete6<
saTransferNotStarted7
Note

When audit logging is on, FileUpEE will create an audit log record for each file transfer. On a busy system, this can make the destination very large. If you enable logging, remember to delete old items in the log destination.

AuditLogDestination

AuditLogDestination sets the type of audit logging that FileUpEE will use. By default, FileUpEE will not create an audit log. To enable audit logging, set AuditLogDestination to one of the following values:

1The audit log will be a file set by AuditLogFile.
2FileUpEE will save log records in a database set by AuditLogDatabase.
4File transfers will be logged in the Windows EventLog. To view the log go to Start/Control Panel/Administrative Tools/Event Viewer.
8File transfers will be logged in the system debugger. You can view the records with tools such as Sysinternals DebugView .

If AuditLogDestination is set to 1, set AuditLogFile. If AuditLogDestination is set to 2, set AuditLogDatabase. By default AuditLogDestination is set to 0 and audit logging is disabled.

AuditLogFile

AuditLogFile sets the path and file name of FileUpEE's audit log file. When audit logging is enabled, FileUpEE will create an audit log for each file transfer. FileUpEE will save the audit log to a file if AuditLogDestination is set to 1.

DynamicAdjustScriptTimeout If this key is set to 1, IIS's ScriptTimeout value will be increased until an upload is complete. Use DynamicAdjustScriptTimeout to ensure that large uploads will not be timed out. DynamicAdjustScriptTimeout is set to 1 by default. To disable DynamicAdjustScriptTimeout, set it to 0.
ErrorLogDatabase

ErrorLogDatabase sets the connection string for FileUpEE's error database. FileUpEE will log errors in a database if ErrorLogDestination is set to 2.

Use the database FileUpEEWS.mdb for error logging on the Web server, and FileUpEEFS.mdb for error logging on the file server. You will find these databases in doc-samples\samples\asp\resume. To see the audit log, open the Errors table.

ErrorLogDestination

ErrorLogDestination sets the type of error logging that FileUpEE will use. By default, FileUpEE will not create an error log. To enable error logging, set ErrorLogDestination to one of the following values:

SALogDestination Values
1Errors will be logged in the file set by ErrorLogFile.
2Errors will be logged in a database set by ErrorLogDatabase.
4Errors will be logged in the Windows EventLog. To view the errors go to Start/Control Panel/Administrative Tools/Event Viewer.
8Errors will be logged in the system debugger. You can view the errors with tools such as Sysinternals DebugView .

If ErrorLogDestination is set to 1, set ErrorLogFile. If ErrorLogDestination is set to 2, set ErrorLogDatabase.

ErrorLogFile

ErrorLogFile sets the path and file name of FileUpEE's error log file. FileUpEE will log errors in a file if ErrorLogDestination is set to 1.

FilterAspAtNKiloBytesThis key specifies the smallest ASP upload size - in kilobytes - for which FileUpEE will use the ISAPI filter. If the size of an ASP upload equals or is greater than the value of FilterAspAtNKiloBytes, and UseIsapiFilterWithAsp is set to 1, FileUpEE's ISAPI filter will be used to process the upload. The default value of FilterAspAtNKiloBytes is 4000000 (4 GB).

By default the ISAPI filter is not enabled for ASP. FilterAspAtNKiloBytes will have no effect unless the registry key UseIsapiFilterWithAsp is set to 1.

Remember: In ASP, the ISAPI filter only intercepts requests for files with the extension .upl, regardless of the values of FilterAspAtNKiloBytes and UseIsapiFilterWithAsp. If, for example, UseIsapiFilterWithAsp is set to 1 (enabled), and FilterAspAtNKiloBytes is set to 4000000, and the server-side upload processing page is WebServer.asp, the ISAPI filter will not intercept uploads that are equal to or greater than 4000000 KB (4 GB).
FilterAspDotNetAtNKiloBytesThis key specifies the smallest ASP.NET upload size - in kilobytes - for which FileUpEE will use the ISAPI filter. If the size of an ASP.NET upload equals or is greater than the value of FilterAspDotNetAtNKiloBytes, and UseIsapiFilterWithAspDotNet is set to 1, FileUpEE's ISAPI filter will be used to process the upload. The default value of FilterAspDotNetAtNKiloBytes is 0, meaning that the filter will intercept all uploads to files with the extension .uplx.

FilterAspDotNetAtNKiloBytes will have no effect if the registry key UseIsapiFilterWithAspDotNet is set to 0 (disabled). By default UseIsapiFilterWithAspDotNet is set to 1 (enabled).

Remember: In ASP.NET, the ISAPI filter only intercepts requests for files with the extension .uplx, regardless of the values of FilterAspDotNetAtNKiloBytes and UseIsapiFilterWithAspDotNet. If, for example, UseIsapiFilterWithAspDotNet is set to 1 (enabled), and FilterAspDotNetAtNKiloBytes is set to 4000000, and the server-side upload processing page is WebServer.aspx, the ISAPI filter will not intercept uploads that are equal to or greater than 4000000 KB (4 GB).
IsapiBufferSizeFileUpEE's ISAPI filter intercepts an upload request, reads all the data, and writes it to a temp file chunk by chunk, before sending it to ASP or ASP.NET. IsapiBufferSize specifies the size of these data chunks. Note that in FileUpEE Version 4, changing the value of this key will have no effect.
IsapiTempDir FileUpEE's ISAPI filter caches request data before it is processed by ASP or ASP.NET. By default, the cache location is the system's default directory for cached files, which is determined by the system environment variable TEMP. To set a different ISAPI filter temp directory, change the value of IsapiTempDir.

The ISAPI filter temp directory must be on a local drive, not on a network shared drive, because the ISAPI filter writes to the server hard drive as the local SYSTEM account and this account does not have access to network drives.
LockedFileRetryTimeIf a file is uploaded to a virtual directory, and then requested via HTTP, IIS or another process may lock the requested file. For example, if a user uploads an image file, and immediately opens the uploaded image in the browser, IIS may lock the file for up to 30 seconds after it was requested via HTTP. So, if the same user tries to upload a replacement of the image file immediately after viewing it, the upload will fail.

IIS may continue locking the file for as long as there are outstanding requests to the file. A heavily requested file may stay locked for minutes or hours at a time. In addition to IIS, web server processes such as content indexing, backup utilities, or virus scanners, may lock files.

By default, FileUpEE will try overwriting the locked file once per second for up to 45 seconds. To change this value, edit LockedFileRetryTime.
MaxKBytes

MaxKBytes sets a file size limit for an upload. MaxKBytes is a per-file limit, not a limit for a whole multiple-file upload. For each file in an upload, FileUpEE will stop writing the file to disk at the value of MaxKBytes. Note that incomplete files will be saved.

When MaxKBytes is set to zero, there is no size limit for uploaded files. MaxKBytes is set to zero by default.

MaxKBytesToCancel

FileUpEE will abort a file upload when the size of the transfer reaches the value of MaxKBytesToCancel. No data will be written to the server's hard disk, the connection will be terminated, and the browser will display a "Page not found" message.

Setting MaxKBytesToCancel may reduce the threat of a DoS (Denial of Service) attack on the file server. When an upload size hits MaxKBytesToCancel, the connection to the server will be terminated, the ASP page will finish executing, and the ASP thread will be freed.

When MaxKBytesToCancel is set to zero, there is no size limit for uploaded files. MaxKBytesToCancel is set to zero by default.

ProgressIndicatorSet ProgressIndicator to 1 to enable FileUpEE's progress indicator. ProgressIndicator is set to 0 by default.
TransferStage

TransferStage specifies the stage of an upload, which may be either Web server or file server. On a Web server, set TransferStage to 1. On a file server, set TransferStage to 2.

Resumable

When Resumable is set to 1 on both the Web server and the file server, FileUpEE will be able to resume an upload from Web server to file server that was suspended because of a network connection failure. Resumable is set to 0 (disabled) by default.

UseIsapiFilterWithAspFileUpEE's ISAPI filter intercepts an upload request, reads all the data, and writes it to a temp file chunk by chunk, before sending it to ASP or ASP.NET. UseIsapiFilterWithAsp turns the filter on or off for ASP uploads. To turn the filter off, set UseIsapiFilterWithAsp to 0. To turn the filter on, set UseIsapiFilterWithAsp to 1. UseIsapiFilterWithAsp is set to 0 by default.
UseIsapiFilterWithAspDotNetFileUpEE's ISAPI filter intercepts an upload request, reads all the data, and writes it to a temp file chunk by chunk, before sending it to ASP or ASP.NET. UseIsapiFilterWithAspDotNet turns the filter on or off for ASP.NET uploads. To turn the filter off, set UseIsapiFilterWithAspDotNet to 0. To turn the filter on, set UseIsapiFilterWithAspDotNet to 1. UseIsapiFilterWithAspDotNet is set to 1 by default.
UseMemory

If UseMemory is set to 1, FileUpEE will store uploaded data in memory until the data is saved. If UseMemory is set to 0, uploaded data will be cached in a temporary directory until it is saved. UseMemory is set to 0 by default.

The benefits of caching in memory may be:

  • Security
    No files are written to disk until the upload is saved.


  • Performance
    Caching files in memory can increase the speed of uploads. However, before setting UseMemory to True you should consider other factors affecting the upload, such as, available memory on the file server, how active the server is, and the size of the upload. If an upload is larger than 1-5 MB (depending on the system load), caching in memory will probably not improve performance.

Do not set UseMemory to True if you expect very large uploads (100 MB or more).


Copyright © 2003, SoftArtisans, Inc.