Re: Execution Timeout Problem



Thanks for Brock's good suggesitons.

Hi Mark,

In addition to Brock's suggestion on make your serverside processing
asynchronously so as to release the woker thread, regarding on the problem
itself, I think you can still check the following things:

1. You can use the Server.ScriptTime property to also adjust the
ScriptTimeout value in addition to the httpRuntime/@executeTimeout setting,
just to make sure all the worker thread level timeout has been adjusted
correctly.

2. Please check the web.config file 's system.web/compilation/@debug
attribute to see whether it is set to "true" or "false", if false, please
change it to "true" since the "executeTimeout won't work correctly under
debug compilation.

In addition, you can also check whether you've apply any Timeout setting at
the database processing layer, such as the SqlCommand's IdleTimeout .

Hope also helps. Thanks,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)
--------------------
| From: "Mark G" <greenb@xxxxxxxxxxxxxxxx>
| References: <#oE4#4ppFHA.3256@xxxxxxxxxxxxxxxxxxxx>
<1131861632602464974843750@xxxxxxxxxxxxxxxxxxxx>
| Subject: Re: Execution Timeout Problem
| Date: Sun, 21 Aug 2005 17:51:25 -0500
| Lines: 100
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.2800.1506
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1506
| Message-ID: <O#EddLqpFHA.320@xxxxxxxxxxxxxxxxxxxx>
| Newsgroups: microsoft.public.dotnet.framework.aspnet
| NNTP-Posting-Host: alxapex01.southernco.com 146.126.51.51
| Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP09.phx.gbl
| Xref: TK2MSFTNGXA01.phx.gbl
microsoft.public.dotnet.framework.aspnet:119366
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet
|
| I guess I better get to work :-), I'll let you know how it turns out.
|
| Thanks for the info,
|
| Mark
|
|
| "Brock Allen" <ballen@xxxxxxxxxxxxxxxxx> wrote in message
| news:1131861632602464974843750@xxxxxxxxxxxxxxxxxxxxxxx
| > The browser really is the ultimate problem here, since it can choose to
| abandon
| > the request. You don't have a lot of control over that...
| >
| > Re: fixing this ASAP: It really isn't a lot of work. I could imagine it
| getting
| > done in one or two days.
| >
| > -Brock
| > DevelopMentor
| > http://staff.develop.com/ballen
| >
| >
| >
| > > Thanks again, but the immediate issue is this is a production
| > > application
| > > that needs to be fixed ASAP. For the short term, shouldn't I be able
| > > to use
| > > the executionTimeout attribute of the <httpRunTime> element to control
| > > these
| > > timeouts? That's the way the documentation reads anyway.
| > > Thanks,
| > > Mark
| > >
| > > "Brock Allen" <ballen@xxxxxxxxxxxxxxxxx> wrote in message
| > > news:1130958632602391938906250@xxxxxxxxxxxxxxxxxxxxxxx
| > >
| > >> Well, you need to access the server somehow to initiate the long
| > >> running task. It doesn't matter if that's an AJAX call or a normal
| > >> page post. Same thing for refreshing thew page to check the status;
| > >> somehow you need to
| > >>
| > > contact
| > >
| > >> the server. Both approaches will work.
| > >>
| > >> -Brock
| > >> DevelopMentor
| > >> http://staff.develop.com/ballen
| > >>> Brock,
| > >>>
| > >>> Thanks for your reply, it sounds like a good idea. Will AJAX allow
| > >>> me to initiate the long running task and give the user the ability
| > >>> to refresh the page to get the status? I have read an article or two
| > >>> on AJAX but haven't used it yet.
| > >>>
| > >>> Thanks,
| > >>>
| > >>> Mark
| > >>>
| > >>> "Brock Allen" <ballen@xxxxxxxxxxxxxxxxx> wrote in message
| > >>> news:1130292632602246365000000@xxxxxxxxxxxxxxxxxxxxxxx
| > >>>
| > >>>> You should consider redesigning this long running work so the
| > >>>> browser isn't waiting for it to complete. So make a button that
| > >>>> initiates the work, then give the user the ability to refresh the
| > >>>> page to see the pending work. To initiate the work you'll have to
| > >>>> kick off another thread somehow (so use
| > >>>> ThreadPool.QueueUserWorkItem, or manually create another thread;
| > >>>> there are pros and cons to each of these approaches). To monitor
| > >>>> the pending work you'll need some other status table in the DB
| > >>>> where your user can see if the work is complete. Once it is, update
| > >>>> that table. Anyway, just an idea on how to rework this long running
| > >>>> task....
| > >>>>
| > >>>> -Brock
| > >>>> DevelopMentor
| > >>>> http://staff.develop.com/ballen
| > >>>>> Our asp.net web app uses a .NET component (DLL) in the bin
| > >>>>> directory to call several stored procedures back to back to
| > >>>>> perform updates. They don't return any data. Sometimes the total
| > >>>>> execution time can take 2-3 minutes, but even though I have set
| > >>>>> the executionTimeout in web.config to a high number of seconds
| > >>>>> (2400), the request will still time out after 90 seconds. The
| > >>>>> user sees a Request timed out error. The app logs a ThreadAborted
| > >>>>> exception, [Thread was being aborted].
| > >>>>>
| > >>>>> The web app and the component are compiled in Release mode. I
| > >>>>> read that you only have to set one property; executionTimeout or
| > >>>>> the ScriptTimeout property in IIS, but not both. Is that true or
| > >>>>> false?
| > >>>>>
| > >>>>> Thanks for your help,
| > >>>>>
| > >>>>> Mark
| > >>>>>
| >
| >
| >
|
|
|

.