ASP.NET_SessionId not registered

Feb 4, 2009 at 1:00 PM
Edited Feb 6, 2009 at 11:50 AM
Hi,

Thanks for the great component.
It works well on localhost, but no upload happens on production server.
The following code is in global.asax:
    Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)     
        com.flajaxian.FileUploader.RegisterAspCookies()
    End Sub

The Fiddler HTTP debugger analysis shows that on the production server, the ASP.NET_SessionId is not registered (on localhost it is registered). It returns HTTP 302, which redirects to the logout page (because the session is missing).

Another issue:
On JsFunc_FileStateChanged, we checked when the file has been uploaded using: if (file.state == Flajaxian.File_Uploaded). On the production server, even though the file has not been uploaded, this condition returns true, which basically shows to the user that everything is fine so far. Doesn't it suppose to return a File_Error (in file.state)?  is there another way to know when the file has been successfully uploaded to the server?

Browser: IE 7
Server: IIS 6.0
ASP.NET 2.0.50727

Ideas on how to overcome these issues would be highly appreciated.

Thanks!

PS: Note also that the Upload folder has been granted with adequate permissions.


Feb 6, 2009 at 12:00 PM
We've managed to track the problem.
Apparently it is caused by the web.config SessionState cookieless attribute <sessionState mode="InProc" cookieless="true" />. Once this attribute is turned off, the file upload works fine. Unfortunately, this attribute is necessary and thus have to be activated.

Any ideas how to overcome this issue?

Thanks!
Coordinator
Feb 6, 2009 at 3:13 PM
Yes the control was not designed for cookieless state but you can still track at what point the session ID passed with the query string is lost and not being sent. You can add it to the variables when creating the upload page URL.
Feb 9, 2009 at 6:44 AM
Problem solved. Thanks!