Synchronous Remote Scripting May Cause Browser to Stop Responding (229730)



The information in this article applies to:

  • Microsoft Internet Explorer 4.01 for Windows 98 SP 2
  • Microsoft Internet Explorer 4.0 for Windows 98
  • Microsoft Internet Explorer 4.01 for Windows 95 SP 1
  • Microsoft Internet Explorer 4.0 for Windows 95
  • Microsoft Internet Explorer 3.02 for Windows 95
  • Microsoft Internet Information Server 3.0
  • Microsoft Internet Information Server 4.0

This article was previously published under Q229730

SYMPTOMS

If a Web application uses Remote Scripting to communicate with Active Server Pages (ASP) and synchronous method calls are used, the Web browser may stop responding if FRAMSETs are used and ASP Session Management is enabled.

In one case, where a Web application required a login process, a long list of image files was returned to the logged-on user. If a second logon request is started before the first one is completed, the browser stops responding. This occurs with both Internet Explorer 4.01 SP1 and Netscape Navigator.

CAUSE

When FRAMESETs are used and ASP Session management is enabled, ASP serializes all requests for a given session. When synchronous Remote Scripting method calls are used to communicate with ASP, then the whole series of processes are treated atomically by ASP, as if they were one long synchronous method call.

Because browser's incorporate an asynchronous user interface, it is possible to commence a second synchronous process. If the browser has not completed the first request, it cannot handle the second request and begins to reduce its TCP WindowSize property until the WindowSize is zero. When the WindowSize is zero, the server stops sending data to the client and the browser stops responding.

WORKAROUND

The following design alternatives keep the asynchronous nature of the browser's user interface in sync with the asynchronous method calls supported by Remote Scripting. Use one of the following workarounds to resolve this problem:

Run the application on a dual processor server.

-OR-

Use asynchronous Remote Scripting method calls.Do not use FRAMESETs.Disable ASP Session management.

Modification Type:MajorLast Reviewed:11/25/2003
Keywords:kbprb KB229730