The information in this article applies to:
SYMPTOMS
When Internet Explorer connects to a Web server resource that dynamically
generates Word, Excel, or other Active Documents, Internet Explorer may
send two GET requests for the resource. The second GET usually does not
have session state information, temporary cookies, or authentication
information that may have already been specified for the client.
CAUSE
Internet Explorer can sometimes lose information pertinent to a particular
download for an Active Document server (Word, Excel.) When this occurs,
Internet Explorer is able to activate the Active Document server but when
the server attempts to bind to and read the data for the document, Internet
Explorer re-downloads the document from the context of the server.
RESOLUTIONTo avoid this problem, Web server applications should not rely on consistent session cookie or authentication information for documents served in this manner. STATUSMicrosoft has confirmed this to be a bug in the Microsoft products listed
at the beginning of this article. This bug was corrected in Microsoft Internet Explorer 5. MORE INFORMATION
This problem is specific to Active Document servers that use
IPersistMoniker to read their persistent data; Word 97 and Excel 97 are the
most common examples. When the Active Document server obtains a moniker
through IPersistMoniker::Load and then calls BindToStorage on that moniker
to get the data, URLMON should continue the download in the context of the
original Internet Explorer process that instantiated the Active Document
server. Because of the bug described by this article, URLMON instead starts
a fresh new download in the context of the Active Document server process.
Steps to Reproduce BehaviorThe following two Active Server Pages (ASP) pages will reproduce this bug. The first page sets a temporary cookie that should be valid for the entire session:Test.asp:
As expected, the Web page will display "Cookie Did Not Exist" when first
visited. Subsequent visits and refreshes of the page will display "Cookie
Exists" because the session cookie has now been set in Internet Explorer
for that session.
When clicking on the link in this page, the following MakeWordDoc.asp page will be evaluated and downloaded. On systems with Microsoft Word installed, Word will be loaded and hosted inside the Internet Explorer frame window with the text contents of the evaluated ASP code. MakeWordDoc.asp demonstrates the problem because the session cookie will never be valid. The Word document will almost always contain "Error - Cookie Did Not Exist" on Internet Explorer 4.0x. The results are erratic on Internet Explorer 3.0x. MakeWordDoc.asp:
© Microsoft Corporation 1999, All Rights Reserved. Additional query words:
Keywords : kbActiveDocs kbASP kbIE400bug kbIE401bug kbIE302bug kbIE500fix |
Last Reviewed: November 17, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |