all groups > dotnet web services enhancements > september 2006 >
You're in the dotnet web services enhancements group:
WSE 3 + Long Running Request = Timeout
dotnet web services enhancements:
I have a request that could take up to 5-10 minutes to process on the server side. There's no way around it, and believe me if there was a way to avoid this, I would be very happy indeed, but there isn't. (and normally this will take a couple of seconds but if the person hasn't used the web service in quite a while it could take a very long while (data base size related)). Anyhow, when I run the request it runs for about 5 mintues and then times out on the client side. It appears to still be running on the server side, at least the wp3 process is still going nuts like it's doing it's work. On start of the Service when I create it I set the Timeout = Int32.MaxValue. I've tried -1 and it doesn't matter. 0 just errors. I've set on the server side the HTTP requestTimeout = 3600 (1 hour) and it doesn't matter. How do I get the client to wait longer before timing out? (I get the "server focibly closed the connection..." as the internal error and it's on the reponse that it's erroring which leads me to believe that it's something in my config on the server not the client, but...) Thanks! James Hancock
Hi James, Did you use the <serviceProxy class>.Timeout property to set a higher timeout ?. <serviceProxy class> is the name of your service proxy class. Regards, Pablo Cibraro. [quoted text, click to view] "James Hancock" <~james@darwinproductions.net> wrote in message news:F3EA5E5F-2F0A-4DE4-AA61-D02ED4E2C9EF@microsoft.com... >I have a request that could take up to 5-10 minutes to process on the >server side. There's no way around it, and believe me if there was a way to >avoid this, I would be very happy indeed, but there isn't. (and normally >this will take a couple of seconds but if the person hasn't used the web >service in quite a while it could take a very long while (data base size >related)). > > Anyhow, when I run the request it runs for about 5 mintues and then times > out on the client side. It appears to still be running on the server side, > at least the wp3 process is still going nuts like it's doing it's work. > > On start of the Service when I create it I set the Timeout = > Int32.MaxValue. > > I've tried -1 and it doesn't matter. 0 just errors. > > I've set on the server side the HTTP requestTimeout = 3600 (1 hour) and it > doesn't matter. > > How do I get the client to wait longer before timing out? (I get the > "server focibly closed the connection..." as the internal error and it's > on the reponse that it's erroring which leads me to believe that it's > something in my config on the server not the client, but...) > > Thanks! > > James Hancock >
How do I do that? (I feel stupid now...) BTW, I should mention that I'm using SecureConversation as well. Thanks for your help! James Hancock [quoted text, click to view] "Pablo Cibraro [MVP]" <pcibraro@hotmail.com> wrote in message news:eStjOxP0GHA.4932@TK2MSFTNGP02.phx.gbl... > Hi James, > > Did you use the <serviceProxy class>.Timeout property to set a higher > timeout ?. > > <serviceProxy class> is the name of your service proxy class. > > Regards, > Pablo Cibraro. > > "James Hancock" <~james@darwinproductions.net> wrote in message > news:F3EA5E5F-2F0A-4DE4-AA61-D02ED4E2C9EF@microsoft.com... >>I have a request that could take up to 5-10 minutes to process on the >>server side. There's no way around it, and believe me if there was a way >>to avoid this, I would be very happy indeed, but there isn't. (and >>normally this will take a couple of seconds but if the person hasn't used >>the web service in quite a while it could take a very long while (data >>base size related)). >> >> Anyhow, when I run the request it runs for about 5 mintues and then times >> out on the client side. It appears to still be running on the server >> side, at least the wp3 process is still going nuts like it's doing it's >> work. >> >> On start of the Service when I create it I set the Timeout = >> Int32.MaxValue. >> >> I've tried -1 and it doesn't matter. 0 just errors. >> >> I've set on the server side the HTTP requestTimeout = 3600 (1 hour) and >> it doesn't matter. >> >> How do I get the client to wait longer before timing out? (I get the >> "server focibly closed the connection..." as the internal error and it's >> on the reponse that it's erroring which leads me to believe that it's >> something in my config on the server not the client, but...) >> >> Thanks! >> >> James Hancock >> > >
The proxy class automatically generated by VS or the wsewsdl3.exe tool has a property "Timeout". You can use it to set a higher timeout. Regards, Pablo. [quoted text, click to view] "James Hancock" <~james@darwinproductions.net> wrote in message news:83C0B687-03FA-4737-80CD-C4CE8B0CA19F@microsoft.com... > How do I do that? (I feel stupid now...) > > BTW, I should mention that I'm using SecureConversation as well. > > Thanks for your help! > > James Hancock > > "Pablo Cibraro [MVP]" <pcibraro@hotmail.com> wrote in message > news:eStjOxP0GHA.4932@TK2MSFTNGP02.phx.gbl... >> Hi James, >> >> Did you use the <serviceProxy class>.Timeout property to set a higher >> timeout ?. >> >> <serviceProxy class> is the name of your service proxy class. >> >> Regards, >> Pablo Cibraro. >> >> "James Hancock" <~james@darwinproductions.net> wrote in message >> news:F3EA5E5F-2F0A-4DE4-AA61-D02ED4E2C9EF@microsoft.com... >>>I have a request that could take up to 5-10 minutes to process on the >>>server side. There's no way around it, and believe me if there was a way >>>to avoid this, I would be very happy indeed, but there isn't. (and >>>normally this will take a couple of seconds but if the person hasn't used >>>the web service in quite a while it could take a very long while (data >>>base size related)). >>> >>> Anyhow, when I run the request it runs for about 5 mintues and then >>> times out on the client side. It appears to still be running on the >>> server side, at least the wp3 process is still going nuts like it's >>> doing it's work. >>> >>> On start of the Service when I create it I set the Timeout = >>> Int32.MaxValue. >>> >>> I've tried -1 and it doesn't matter. 0 just errors. >>> >>> I've set on the server side the HTTP requestTimeout = 3600 (1 hour) and >>> it doesn't matter. >>> >>> How do I get the client to wait longer before timing out? (I get the >>> "server focibly closed the connection..." as the internal error and it's >>> on the reponse that it's erroring which leads me to believe that it's >>> something in my config on the server not the client, but...) >>> >>> Thanks! >>> >>> James Hancock >>> >> >> >
Ok, I've definately set that (int32.maxvalue and tried -1) and it still is timing out on receive. Any other ideas? [quoted text, click to view] "Pablo Cibraro [MVP]" <pcibraro@hotmail.com> wrote in message news:OQ4uL6Q0GHA.4932@TK2MSFTNGP02.phx.gbl... > The proxy class automatically generated by VS or the wsewsdl3.exe tool > has a property "Timeout". You can use it to set a higher timeout. > > Regards, > Pablo. > > "James Hancock" <~james@darwinproductions.net> wrote in message > news:83C0B687-03FA-4737-80CD-C4CE8B0CA19F@microsoft.com... >> How do I do that? (I feel stupid now...) >> >> BTW, I should mention that I'm using SecureConversation as well. >> >> Thanks for your help! >> >> James Hancock >> >> "Pablo Cibraro [MVP]" <pcibraro@hotmail.com> wrote in message >> news:eStjOxP0GHA.4932@TK2MSFTNGP02.phx.gbl... >>> Hi James, >>> >>> Did you use the <serviceProxy class>.Timeout property to set a higher >>> timeout ?. >>> >>> <serviceProxy class> is the name of your service proxy class. >>> >>> Regards, >>> Pablo Cibraro. >>> >>> "James Hancock" <~james@darwinproductions.net> wrote in message >>> news:F3EA5E5F-2F0A-4DE4-AA61-D02ED4E2C9EF@microsoft.com... >>>>I have a request that could take up to 5-10 minutes to process on the >>>>server side. There's no way around it, and believe me if there was a way >>>>to avoid this, I would be very happy indeed, but there isn't. (and >>>>normally this will take a couple of seconds but if the person hasn't >>>>used the web service in quite a while it could take a very long while >>>>(data base size related)). >>>> >>>> Anyhow, when I run the request it runs for about 5 mintues and then >>>> times out on the client side. It appears to still be running on the >>>> server side, at least the wp3 process is still going nuts like it's >>>> doing it's work. >>>> >>>> On start of the Service when I create it I set the Timeout = >>>> Int32.MaxValue. >>>> >>>> I've tried -1 and it doesn't matter. 0 just errors. >>>> >>>> I've set on the server side the HTTP requestTimeout = 3600 (1 hour) and >>>> it doesn't matter. >>>> >>>> How do I get the client to wait longer before timing out? (I get the >>>> "server focibly closed the connection..." as the internal error and >>>> it's on the reponse that it's erroring which leads me to believe that >>>> it's something in my config on the server not the client, but...) >>>> >>>> Thanks! >>>> >>>> James Hancock >>>> >>> >>> >> > >
BTW, I should mention that this appears to only happen on Windows 2003 servers. [quoted text, click to view] "James Hancock" <~james@darwinproductions.net> wrote in message news:FAD00904-E8A0-4077-ABE5-D0404E5C31EF@microsoft.com... > Ok, I've definately set that (int32.maxvalue and tried -1) and it still is > timing out on receive. Any other ideas? > > "Pablo Cibraro [MVP]" <pcibraro@hotmail.com> wrote in message > news:OQ4uL6Q0GHA.4932@TK2MSFTNGP02.phx.gbl... >> The proxy class automatically generated by VS or the wsewsdl3.exe tool >> has a property "Timeout". You can use it to set a higher timeout. >> >> Regards, >> Pablo. >> >> "James Hancock" <~james@darwinproductions.net> wrote in message >> news:83C0B687-03FA-4737-80CD-C4CE8B0CA19F@microsoft.com... >>> How do I do that? (I feel stupid now...) >>> >>> BTW, I should mention that I'm using SecureConversation as well. >>> >>> Thanks for your help! >>> >>> James Hancock >>> >>> "Pablo Cibraro [MVP]" <pcibraro@hotmail.com> wrote in message >>> news:eStjOxP0GHA.4932@TK2MSFTNGP02.phx.gbl... >>>> Hi James, >>>> >>>> Did you use the <serviceProxy class>.Timeout property to set a higher >>>> timeout ?. >>>> >>>> <serviceProxy class> is the name of your service proxy class. >>>> >>>> Regards, >>>> Pablo Cibraro. >>>> >>>> "James Hancock" <~james@darwinproductions.net> wrote in message >>>> news:F3EA5E5F-2F0A-4DE4-AA61-D02ED4E2C9EF@microsoft.com... >>>>>I have a request that could take up to 5-10 minutes to process on the >>>>>server side. There's no way around it, and believe me if there was a >>>>>way to avoid this, I would be very happy indeed, but there isn't. (and >>>>>normally this will take a couple of seconds but if the person hasn't >>>>>used the web service in quite a while it could take a very long while >>>>>(data base size related)). >>>>> >>>>> Anyhow, when I run the request it runs for about 5 mintues and then >>>>> times out on the client side. It appears to still be running on the >>>>> server side, at least the wp3 process is still going nuts like it's >>>>> doing it's work. >>>>> >>>>> On start of the Service when I create it I set the Timeout = >>>>> Int32.MaxValue. >>>>> >>>>> I've tried -1 and it doesn't matter. 0 just errors. >>>>> >>>>> I've set on the server side the HTTP requestTimeout = 3600 (1 hour) >>>>> and it doesn't matter. >>>>> >>>>> How do I get the client to wait longer before timing out? (I get the >>>>> "server focibly closed the connection..." as the internal error and >>>>> it's on the reponse that it's erroring which leads me to believe that >>>>> it's something in my config on the server not the client, but...) >>>>> >>>>> Thanks! >>>>> >>>>> James Hancock >>>>> >>>> >>>> >>> >> >> >
*PING* Anyone have any ideas? Only happens on Windows 2k3 servers too.. [quoted text, click to view] "James Hancock" <~james@darwinproductions.net> wrote in message news:F3EA5E5F-2F0A-4DE4-AA61-D02ED4E2C9EF@microsoft.com... >I have a request that could take up to 5-10 minutes to process on the >server side. There's no way around it, and believe me if there was a way to >avoid this, I would be very happy indeed, but there isn't. (and normally >this will take a couple of seconds but if the person hasn't used the web >service in quite a while it could take a very long while (data base size >related)). > > Anyhow, when I run the request it runs for about 5 mintues and then times > out on the client side. It appears to still be running on the server side, > at least the wp3 process is still going nuts like it's doing it's work. > > On start of the Service when I create it I set the Timeout = > Int32.MaxValue. > > I've tried -1 and it doesn't matter. 0 just errors. > > I've set on the server side the HTTP requestTimeout = 3600 (1 hour) and it > doesn't matter. > > How do I get the client to wait longer before timing out? (I get the > "server focibly closed the connection..." as the internal error and it's > on the reponse that it's erroring which leads me to believe that it's > something in my config on the server not the client, but...) > > Thanks! > > James Hancock >
hi James, this may not be the answer your looking for but it is quite a fundamental problem you face so some lateral thinking may be in order. how about you make the users aware of the fact that they may have to wait up to 10 minutes if they haven't logged in for a long time. here is what i might do: run the web method synchronously as normal, but the server starts the processing on a new thread and returns a GUID corresponding to the job ID for the client. you could maintain the list of current jobs in a static hashtable on the server (or thread pool or backgroundworker objects etc) and remove them from the list when they are complete. you could also store error / status information in the hashtable. the server might even be able to estimate how long the job will take based on whatever is in the database, and then you could return this information with the initial web method call to the client. your client invokes the web method, get the job ID back straight away, and then polls the server at intervals with the job ID until it is complete. it sounds like the timeout problem is on the client side rather than the server side so this approach should overcome that. i hope this suggestion helps. tim mackey. [quoted text, click to view] "James Hancock" <~james@darwinproductions.net> wrote in message news:151EC204-FA70-4E34-868D-3656A677BA1E@microsoft.com... > *PING* > Anyone have any ideas? > > Only happens on Windows 2k3 servers too.. > > "James Hancock" <~james@darwinproductions.net> wrote in message > news:F3EA5E5F-2F0A-4DE4-AA61-D02ED4E2C9EF@microsoft.com... >>I have a request that could take up to 5-10 minutes to process on the >>server side. There's no way around it, and believe me if there was a way >>to avoid this, I would be very happy indeed, but there isn't. (and >>normally this will take a couple of seconds but if the person hasn't used >>the web service in quite a while it could take a very long while (data >>base size related)). >> >> Anyhow, when I run the request it runs for about 5 mintues and then times >> out on the client side. It appears to still be running on the server >> side, at least the wp3 process is still going nuts like it's doing it's >> work. >> >> On start of the Service when I create it I set the Timeout = >> Int32.MaxValue. >> >> I've tried -1 and it doesn't matter. 0 just errors. >> >> I've set on the server side the HTTP requestTimeout = 3600 (1 hour) and >> it doesn't matter. >> >> How do I get the client to wait longer before timing out? (I get the >> "server focibly closed the connection..." as the internal error and it's >> on the reponse that it's erroring which leads me to believe that it's >> something in my config on the server not the client, but...) >> >> Thanks! >> >> James Hancock >> >
Hello James, you may try to set another setting in you web.config (or machine.config) file: <executionTimeout> below the <httpRuntime> element. You can set the maximum number of seconds your request processing is allowed to run on the server. As your problem is related to long execution time on the server this may be an answer. Robert [quoted text, click to view] "James Hancock" wrote: > I have a request that could take up to 5-10 minutes to process on the server > side. There's no way around it, and believe me if there was a way to avoid > this, I would be very happy indeed, but there isn't. (and normally this will > take a couple of seconds but if the person hasn't used the web service in > quite a while it could take a very long while (data base size related)). > > Anyhow, when I run the request it runs for about 5 mintues and then times > out on the client side. It appears to still be running on the server side, > at least the wp3 process is still going nuts like it's doing it's work. > > On start of the Service when I create it I set the Timeout = Int32.MaxValue. > > I've tried -1 and it doesn't matter. 0 just errors. > > I've set on the server side the HTTP requestTimeout = 3600 (1 hour) and it > doesn't matter. > > How do I get the client to wait longer before timing out? (I get the "server > focibly closed the connection..." as the internal error and it's on the > reponse that it's erroring which leads me to believe that it's something in > my config on the server not the client, but...) > > Thanks! > > James Hancock
Don't see what you're looking for? Try a search.
|
|
|