a

>>Bugs>> [Fixed in 1.3.15] session state mode not correctly detected when Web.config contains xmlns
Pages: 1   reply
Author [Fixed in 1.3.15] session state mode not correctly detected when Web.config contains xmlns
guest
Total Posts:
Progress bar not working under web garden
7/24/2009 5:59:20 PM

I'm currently using:
- IIS 7 Integrated Pipeline Mode
- SQLState session state
- .NET 2.0

In my web.config,

<neatUpload
xmlns=http://www.brettle.com/neatupload/config/2008
useHttpModule="true"
maxNormalRequestLength="2097151"
maxRequestLength="2097151"
maxUploadRate="50"
multiRequestUploadHandlerUrl="~/NeatUpload/MultiRequestUploadHandler.ashx"
decryptionKey="8A9BE8FD67AF6979E7D20198CFEA50DD"
stateMergeIntervalSeconds="1"
stateStaleAfterSeconds="60">
</
neatUpload>

Note that I have specified decryptionKey as mentioned in the documentation.

If maximum worker processes is set to 1 (i.e. no web garden), everything works fine. However, if I set it to more than 1 (i.e. web garden), the progress bar is not updating at all. The file uploades properly.

Other session data can be stored and restored properly.

Is there any other configuration that I need to change?

Thanks in advance...


 
Dean Brettle
Total Posts: 2015
Re: Progress bar not working under web garden
7/24/2009 6:10:11 PM
What is your sessionState mode? --Dean

 
guest
Total Posts:
Re: Progress bar not working under web garden
7/26/2009 4:15:38 PM
I'm using SQLServer for my sessions.

 
Dean Brettle
Total Posts: 2015
Re: Progress bar not working under web garden
7/27/2009 12:41:55 AM
Do you have any other <neatUpload> sections in your project (e.g. in a Web.config in a subdir)?

Does it consistently work with only 1 process and consistently fail with more than 1?

Can you email me (dean at brettle dot com) a small test project that demonstrates the problem and then post here when you have done so?

Thanks,
--Dean

 
guest
Total Posts:
Re: Progress bar not working under web garden
7/27/2009 12:05:22 PM

I have only 1 <neatUpload> section in the entire project.

It works with 1 process consistently.

When there are more than 1, it fails most of time, but often works. I've done some testing and seems like NeatUpload is having problem creating sessions for some reasons. It sometimes creates and updates properly. Sometimes it's not created or not updated.

With a simple project, I can't reproduce this problem...

Thank you!


 
guest
Total Posts:
Re: Progress bar not working under web garden
7/27/2009 12:20:48 PM

Okay actually it updates session properly.

I haven't looked at your code yet, but I assume session is created when the progress bar is first loaded. However, when browser caches the progress.aspx, the session won't get created and thus progress bar won't be updated.

Once session is created, the it gets updated properly, but progress bar is not updated most of time.


 
Dean Brettle
Total Posts: 2015
Re: Progress bar not working under web garden
7/27/2009 12:41:52 PM
Do you have any other 3rd-party modules installed?  Is NeatUpload's UploadHttpModule listed first?

As for caching, when the upload starts NeatUpload's JS code loads Progress.aspx with a unique query string.  That should ensure a fresh load of the page from the server.

As for creating of the session, the session needs to exist before the upload starts, typically by having EnableSessionState="true" for the page the user uploads from.  Could that be the problem?

BTW, are you using cookieless sessions?

--Dean

 
guest
Total Posts:
Re: Progress bar not working under web garden
7/27/2009 1:55:46 PM

Progress.aspx may not be loaded with a unique postBackID, when the page containing NeatUpload control is cached, i.e. the following line is cached and thus Progress.aspx is loaded with the exact same query string:

NeatUploadInputFileCreate('fileInput','9001EB11C24D3503A17FA5EC7A6CA340');

I can make sure that my page is not cached. So, yes if I make sure that my page is not cached, the session is created properly.

However, even if session is all there and updated properly, progress bar doesn't get updated in most cases. Also, I'm NOT using cookieless sessions.

<sessionState
mode="SQLServer"
allowCustomSqlDatabase="true"
sqlConnectionString="Server=XX;Database=XX;User ID=XX;Password=XX"
cookieless="false"
timeout="20" />


 
Dean Brettle
Total Posts: 2015
Re: Progress bar not working under web garden
7/27/2009 2:22:30 PM
There is code in NeatUpload.js that modifies the query string when the upload starts. Are any js errors occurring on the page?
If you use an inline progress bar and wait for the upload to complete, does the progress bar indicate that the upload completed and show 100%?
What is EnableSessionState set to on your upload page?
--Dean

 
guest
Total Posts:
Re: Progress bar not working under web garden
7/27/2009 2:46:36 PM
There is no JS errors. I'm using IE8, and it might be a browser-specific problem... I'm using an inline progress bar, and after the upload completes, the progress bar doesn't change and it just submits the form. EnableSessionState is set to true on my page. I really appreciate your support! Thanks

 
Dean Brettle
Total Posts: 2015
Re: Progress bar not working under web garden
7/27/2009 2:48:32 PM
What version of IE8?  I recently had someone report a bug that was caused by use of an IE8 beta release.

Also, can you post your <httpModules> and <modules> sections?

--Dean

 
guest
Total Posts:
Re: Progress bar not working under web garden
7/27/2009 3:13:15 PM
I'm using IE 8.0.6001.18783 on Windows Vista SP1. I just tested with FF3 and Chrome 1, and they are having the same problem. I'm using integrated mode, so don't have section.

 
guest
Total Posts:
Re: Progress bar not working under web garden
7/27/2009 3:15:26 PM

<modules>
<
add name="UploadHttpModule" type="Brettle.Web.NeatUpload.UploadHttpModule,Brettle.Web.NeatUpload" preCondition="managedHandler"/>
</
modules>

P.S. the text editor for this forum doesn't work with IE8 Standard Mode.


 
Dean Brettle
Total Posts: 2015
Re: Progress bar not working under web garden
7/27/2009 3:36:35 PM
Everything seems to indicate that NeatUpload's default AdaptiveUploadStateStoreProvider is choosing to use the InProcUploadStateStoreProvider instead of the SessionBasedUploadStateStoreProvider.  If you force it to use the SessionBasedUploadStateStoreProvider, does the problem go away?  You'd do that by adding the bold text below:

<neatUpload
xmlns=http://www.brettle.com/neatupload/config/2008
useHttpModule="true"
maxNormalRequestLength="2097151"
maxRequestLength="2097151"
maxUploadRate="50"
multiRequestUploadHandlerUrl="~/NeatUpload/MultiRequestUploadHandler.ashx"
decryptionKey="8A9BE8FD67AF6979E7D20198CFEA50DD"
stateMergeIntervalSeconds="1"
stateStaleAfterSeconds="60"
defaultStateStoreProvider="sbProvider"
>
<providers>
<add name="sbProvider" type="Brettle.Web.NeatUpload.SessionBasedUploadStateStoreProvider, Brettle.Web.NeatUpload" />
</providers>
</
neatUpload>



BTW, where is your <sessionState> element?  Is it physically in your top-level Web.config, or is it in a separate file that you include using configSource?

--Dean

 
guest
Total Posts:
Re: Progress bar not working under web garden
7/27/2009 3:43:47 PM

Thanks Dean! Explicitly specifying the state store provider fixed the problem.

I have sessionState element in the top-level web.config file.


 
Dean Brettle
Total Posts: 2015
Re: Progress bar not working under web garden
7/27/2009 3:59:05 PM
Great!  Can you email me (dean at brettle dot com) the Web.config with as little redacted as possible.  I need it to figure out why the correct provider wasn't chosen to begin with.

Thanks,
--Dean

 
Dean Brettle
Total Posts: 2015
Re: Progress bar not working under web garden
7/28/2009 9:49:25 PM
There was a bug which only occurred when the Web.config contained an xmlns declaration.  It has been fixed as of NeatUpload-1.3.15.

 
Pages: 1   reply
a