Ticket #568 ( Closed )

Short Description ASP Requester Execute method timeout
Entered By: Sandro When: 2000-07-26 11:53:16 Build: 2.0.7D GA
Categories Type: Problem   Department: Product   Category: Not Categorized
Description
While using the ASP Requester component, we encountered the 
following problem:

We have a computer where the Screensurfer runs and another 
computer on the network where the ASP requester DLL is used 
within an application process as a normal COM component.

If the Screensurfer computer does not respond for any 
reason, an Execute method call in the ASP requester waits 
forever. This is just not acceptable, and the client code 
should be able to specify a reasonable timeout in order to 
protect itself, whether the server is down, or the 
Screensurfer script called is lasting just too long.


Append By: WindSurfer  When: 2000-07-26 12:32:14  New Status: Pending Customer
Comment
Good suggestion--we happened to be updating the co-server 
components today.

You are right, the socket receive is without any timeouts 
and will hang if the backend never comes-back.  This 
shouldn't occur if the Screensurfer machine isn't available, 
but if a script gets hung-up for some reason, it would stay 
open.

The timeout has been added initially as a registry setting, 
with the ability to add as a property to the 
SSurfer.AspRequest object at some point in the future.

We will let you know when it is available after testing.
Append By: WindSurfer  When: 2000-07-26 16:32:45  New Status: Pending Customer
Comment
New version is available at:

ftp://www.screensurfer.com/aspsurfer.dll

To activate the timeout, add the value "TimeOut" as a DWORD 
to the registry key:

HKEY_LOCAL_MACHINE/Software/Intelligent 
Environments/AspRequestTarget

Set TimeOut to the number of milliseconds you want the 
component to wait.

For example, 60000 in decimal would wait for one minute.

If no TimeOut value is specified in the registry, the new 
version acts like the old; it waits indefinitely until a 
response comes...but note that there should be some kind of 
network error if the SS machine isn't available, unless 
there is some intermediate machine in your network, such as 
a proxy, which is providing the "endless socket"...