Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / ASP.NET / Web Services / August 2007

Tip: Looking for answers? Try searching our database.

Web Services client software has substantial delay on startup

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
David J. Berman - 02 Aug 2007 14:26 GMT
Hello, I'm using Visual Studio .NET 2005 with .NET framework v2.0, Windows
2003 Server.

As a consultant I am developing client software on the above platform for
several different clients.  All software that I'm creating that makes any web
services calls whatsoever have a substantial client-side delay when the first
web service call is made.  There must be some sort of start-up overhead
associated with the code.  

I'm creating my proxy classes by using the add web reference feature in
Visual Studio.  

If I make a simple client software that does something like a Login (Enter
username and password, request an authentication code, and then do some sort
of request...) the first call takes a very long time, consistantly about 15
seconds, and after that things are very fast.

I develop using several computers for many clients at many locations but
always I have this same behavior with all client software I'm writing using
these tools.

Can anyone shed some light on this?  Is there a way to reduce the startup
time associated with my first webservices call?  Thank you.

David

Signature

DavidJBerman.com
<a href="http://www.davidjberman.com" target="_blank" title="David
Berman">Visit David Berman</a>

John Saunders [MVP] - 02 Aug 2007 15:44 GMT
Signature

John Saunders [MVP]

> Hello, I'm using Visual Studio .NET 2005 with .NET framework v2.0, Windows
> 2003 Server.
[quoted text clipped - 26 lines]
>
> David
John Saunders [MVP] - 02 Aug 2007 15:46 GMT
> Hello, I'm using Visual Studio .NET 2005 with .NET framework v2.0, Windows
> 2003 Server.
[quoted text clipped - 24 lines]
> Can anyone shed some light on this?  Is there a way to reduce the startup
> time associated with my first webservices call?  Thank you.

The start-up delay is associated with the startup of the AppDomain the
service is located in, JIT compilation, etc.

The only way to avoid it would be to issue a call to the web service when
the system starts, and whenever the AppDomain unloads due to the idle timer
on the application pool it's running in.
Signature

John Saunders [MVP]

David J. Berman - 02 Aug 2007 16:14 GMT
Thank you for your response.  However, this doesn't seem to answer my
question.  The delay isn't happening on the server side, it's happening on
the client side.

I can demonstrate as follows:
Set up debug session of client software.  Setup simultainious debug session
of web service by using a second computer.
A) Start client.  Client issues first call to web service, experiences 15
second delay before breakpoint is hit on the server.
B) Issue second request on client side.  Breakpoint is hit on server
instantly.
C) Shut down client.
D) Restart client, client issues first call to the same web service.  Again,
15 second delay transpires before the breakpoint is hit on web service.

Second test:
A) On computer A, connect client to web service.  Client issues first
request, experiences 15 second delay.
B) On Compuber B, connect same client to web service.  Client issues the
same first request as step A, also experiences 15 second delay.

This happens every single time I create an application that consumes any web
service, and it happens on the client side. After the first request completes
everything is very fast.

Is there anything I can do to eliminate this startup delay?

Thank you.

David

Signature

DavidJBerman.com
<a href="http://www.davidjberman.com" target="_blank" title="David
Berman">Visit David Berman</a>

> > Hello, I'm using Visual Studio .NET 2005 with .NET framework v2.0, Windows
> > 2003 Server.
[quoted text clipped - 31 lines]
> the system starts, and whenever the AppDomain unloads due to the idle timer
> on the application pool it's running in.
John Saunders [MVP] - 02 Aug 2007 18:34 GMT
> Thank you for your response.  However, this doesn't seem to answer my
> question.  The delay isn't happening on the server side, it's happening on
[quoted text clipped - 26 lines]
>
> Is there anything I can do to eliminate this startup delay?

That's really _not_ the problem I was talking about!

Can you reproduce this delay with a "hello, world" service? I suspect you'll
find that it's something specific to your service. It's not the usual
behavior.
Signature

John Saunders [MVP]

Egghead - 10 Aug 2007 14:54 GMT
Hmm, it seems that it is the security setting on the networking or PC in the
client-side (may be in the server-side).
You must have few PCs sitting at your own office, make a hello web service
on one of them, and you can find out you do not have that dely at all.

Signature

cheers,
RL

> Thank you for your response.  However, this doesn't seem to answer my
> question.  The delay isn't happening on the server side, it's happening on
[quoted text clipped - 74 lines]
>> timer
>> on the application pool it's running in.
Pseudo - 11 Aug 2007 13:46 GMT
I'm seeing the exact same behaviour.

A simple "Hello World" web service on my server shows about a 15 second
delay on the client's first call.

Any of the services on that server have the delay on the first call and then
any other call is very quick.

If I use the web interface directly on the server, there is never any delay.

One thing to note is that I also have a vpn connection to the site with the
server.  I'm guessing maybe it may be trying to establish some sort of
Windows authentication and timing out before allowing the first call.

I'll do as you suggest and try a local "Hello World" application.

Bryan

> Hmm, it seems that it is the security setting on the networking or PC in the
> client-side (may be in the server-side).
[quoted text clipped - 79 lines]
> >> timer
> >> on the application pool it's running in.
Pseudo - 11 Aug 2007 14:08 GMT
I ran the same service on my development machine and no delay on any of the
calls.

> I'm seeing the exact same behaviour.
>
[quoted text clipped - 97 lines]
> > >> timer
> > >> on the application pool it's running in.
Pseudo - 11 Aug 2007 14:22 GMT
Woohoo!  Problem solved for me.

http://www.thescripts.com/forum/thread635720.html

Turned off Auto Detect in i.e.

Bryan

> Hello, I'm using Visual Studio .NET 2005 with .NET framework v2.0, Windows
> 2003 Server.
[quoted text clipped - 21 lines]
>
> David
TimG - 28 Aug 2007 04:12 GMT
A slowdown that I experienced (wasn't 15 seconds but more like 4-5 seconds in
my case) was the executable searching for a xmlserializers assembly (it also
raises FileNotFound exceptions within the debugger).  Once I changed the
project's Compile | Advanced Compiler Settings | Generate serialization
assemblies from Auto to On the delay went away (of course you have to include
the assembly in your deployment).  In my case, I do not know why Auto wasn't
automatically creating the assembly, just that On did create the assembly.

See http://msdn2.microsoft.com/EN-US/library/bk3w6240(vs.80).aspx for more
information.

Signature

Tim

> Hello, I'm using Visual Studio .NET 2005 with .NET framework v2.0, Windows
> 2003 Server.
[quoted text clipped - 21 lines]
>
> David

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.