[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 762
  • Last Modified:

IE File Download Dialog Hangs with Single-Sign On

Hi,

when we are attempting to download files (DOC, XLS, JPG, PDF) from our application, the IE file download dialog hangs.

ASP.NET 2.0 / IIS with Integrated Windows Authentication

The events are:
Click button to download file
Postback occurs which retreives file and creates response
Browser receives response header and body of correct size
Browser raises file open/save/cancel dialog.
Regardless of whether choosing open / save...
File Download Progress Dialog appears but data doesn't get populates (e.g. filename / size / progress)
User can cancel otherwise will stay at dialog until session times out.
If the user chose Save then they will never get the option to choose where the file should be saved to.

The files being downloaded are very small (~20-50K)

Having tested the firewall/AV etc we have identified the problem as being with Passlogix Single Sign On (SSO, now Oracle ESSO).

When SSO is turned on, the file download always fails. If shutdown then the file download always succeeds.

The file download succeeds in Firefox but not in IE 6.0SP2. I believe because SSO uses a plugin for IE which isn't present in Firefox.

I've raised this as a new question as the previous question I found on this issue didn't have a solution...

Can anyone help?

Thanks,
Angus
Response.Clear();
Response.ContentType = "Application\octet-stream";
Response.AddHeader("Content-Length", attachmentFile.fileData.Length.ToString());
Response.AddHeader("Content-Disposition","attachment; filename="+attachmentFile.localFilename);
Response.BinaryWrite(attachmentFile.fileData);
Response.End

Open in new window

0
RealtimeEngineeringLtd
Asked:
RealtimeEngineeringLtd
  • 5
  • 4
1 Solution
 
OBonioCommented:
Try removing bits.  I remember having similar trouble many years ago with IE6 and Content-Disposition.  Also, your ContentType should be "application/octet-stream" (all lower case with a FORWARD slash).

Response.Clear();
Response.ContentType = "application/octet-stream";
Response.BinaryWrite(attachmentFile.fileData);
Response.End()

Open in new window

0
 
RealtimeEngineeringLtdAuthor Commented:
sorry - that was a typo in the forum. It is as you suggest in the actual code.

Tried setting the mime type to application/msword as well with the same result with the dialog box hanging.

Things also tried:
Response.ClearHeaders() at the start
Response.flush() at the end and before the respone.end
Removing the content length
0
 
OBonioCommented:
Actually, your Content-Disposition is missing enclosing "



Response.AddHeader("Content-Disposition","attachment; filename=\""+attachmentFile.localFilename + "\"");

Open in new window

0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
OBonioCommented:
Another though, have you inspected the HTTP data between IE and the server using Fiddler?  Compare one session with SSO enabled with one with it disabled.

http://www.fiddlertool.com/fiddler/
0
 
RealtimeEngineeringLtdAuthor Commented:
I believe the headers are the same. We have limited permissions on the test box we're using but I'll try and install Fiddler and let you know.

Certainly on our test box the headers are identical. I'll check and post the results back

0
 
RealtimeEngineeringLtdAuthor Commented:
Hi,

An example header is as follows:

HTTP/1.1 200 OK
Server: Microsoft-IIS/5.1
Date: Mon, 17 Nov 2008 11:49:56 GMT
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Content-Length: 27648
Content-Disposition: attachment; filename="Control Document 4.doc"
Cache-Control: private
Content-Type: application/octet-stream
0
 
RealtimeEngineeringLtdAuthor Commented:
Having checked the headers they are indeed identical.

any more ideas anyone?
0
 
RealtimeEngineeringLtdAuthor Commented:
We were using SSO V5.0.4

Following a test upgrade to V6.0 our application worked perfectly. This may have been due to a bugfix or a configuration change between versions.

Our customer's solution to this problem is to uninstall Passlogix SSO v5.0.4 for all users who need access to our application.
1
 
OBonioCommented:
The joy of 3rd party components :o(.

Glad you found a solution albeit not ideal.
0

Featured Post

Prep for the ITIL® Foundation Certification Exam

December’s Course of the Month is now available! Enroll to learn ITIL® Foundation best practices for delivering IT services effectively and efficiently.

  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now