This project has moved. For the latest updates, please go here.

NeatUpload Web Farm Configuration

Aug 18, 2011 at 7:23 PM

Hello,

I'm in the process of testing an application which utilizes NeatUpload to support the upload of multiple files for storage in a database.  The application works fine in all environments except in our 2 node load-balanced test environment.  The load-balancing is configured with a sticky bit that maintains server affinity via client IP address.  I don't have all the configuration requirements for a web farm environment, my session state is configured as InProc, and I don't have a consistent DecryptionKey specified, but I am using a shared storage space for the uploaded files.  I am using the multi-file Flash version of NeatUpload and using the default temporary file location (i.e. App_Data/NeatUpload_temp).

With this configuration, the MultifileControl.Files collection is empty when uploading the file.  The obvious reason for this is that the request is failing over to the second node when uploading the file and the control can't retrieve the file from the temporary storage location, or something else is breaking in the process.  However, I'm not sure why this would be the case as the IP address based sticky bit should keep all requests going to the same server.

Now, here's the strange part.  If I start up Fiddler 2 (Web Debugging Software) and try to upload the file, the upload is successful.  Fiddler is acting as a proxy for all requests, but I'm not sure why this would impact the file upload process.

If anyone has any insight into why this isn't working, or why it does work when Fiddler is enabled, please let me know.  Thanks.

John 

Aug 31, 2011 at 10:17 PM

As an update to this issue, I have made all of the necessary changes to support a load balanced environment (SessionBasedUploadStateStoreProvider, shared folder for temporary file storage, consistent decryptionKey across both servers) and I am still unable to get the upload process to succeed when hitting the load balancer, unless I have Fiddler running.  The process does work fine if I hit either of the server nodes directly.

Does anyone have any idea as to why this only works if I have fiddler running when I hit the load balancer?

John

Coordinator
Sep 4, 2011 at 2:21 PM

are you using out of process session state or in process session state? seems like you would definitely need out of process so that session state is shared across nodes.

Hope that helps,

Joe

Sep 6, 2011 at 6:30 PM

Thanks for the response Joe.  We are using Out Of Process session state and have made all of the required configuration changes in support of this.  One thing that I've noticed in the server logs is that normally there are about 5 or 6 calls made to UploadStateStoreHandler.ashx when the upload process behaves correctly, but when it fails, there are only 2.  Also, when the upload does not work, it hangs instead of continuing the process or erroring out.

 

Thanks.

 

John

Oct 31, 2011 at 11:29 PM

I am having the same issue. Does anyone have a solution to this? It seems to work about 50% of the time. We have configured out of proc storgage (in sql), a shared temporary files folder and a shared decrytion key.