Deployment

Production notes for moving from trial to live traffic.

Follow these steps to move AjaxUploader from localhost evaluation to a staging or production environment. The full checklist is also available in docs/03-Deployment-Checklist.txt.

Step 1

Copy the right files

Deploy AjaxUploader.dll to your site's bin folder. Keep the handler mapping in Web.config. Add compatibility assemblies only if you still rely on older CuteWebUI control names.

Step 2

Install the license file

Place ajaxuploader5.lic in the application root, bin, licenses, or App_Data folder. See License Installation for details.

Step 3

Prepare temp storage

Create the temp upload folder (e.g. App_Data\UploaderTemp), verify write permissions for the application pool identity, and make sure security software is not silently blocking file creation.

Step 4

Review request limits

Increase maxRequestLength (in KB) and maxAllowedContentLength (in bytes) in Web.config when you allow large uploads. Confirm ajaxupload.axd resolves correctly behind proxies or virtual directories.

Step 5

Configure handler registration

Ensure the ajaxupload.axd handler is registered under <system.webServer><handlers> with preCondition="integratedMode". See the docs page for the exact XML snippet.

Step 6

Run a smoke test

Open a page with AjaxUploader, upload a small file, verify progress UI appears, then test at least one large file with chunking enabled. Check the browser console and server event log for errors.

Web.config reference

Request size limits for large uploads

<!-- system.web -->
<httpRuntime maxRequestLength="2097152" />

<!-- system.webServer -->
<security>
  <requestFiltering>
    <requestLimits maxAllowedContentLength="2147483648" />
  </requestFiltering>
</security>

Troubleshooting

Common deployment issues

  • 404 on ajaxupload.axd — handler not registered or app pool not in integrated mode.
  • License reminder banner — .lic file missing, wrong folder, or file name mismatch.
  • Upload fails silently — request size limits too low for the file being uploaded.
  • Access denied on temp folder — app pool identity lacks write permission on the upload directory.
  • Chunked upload hangs — proxy or load balancer stripping the custom upload headers.