"Norbert Pürringer" <> wrote in message
news:3faa8507-54b1-43a2-89f7-...
> What are the different reasons, that the very first webservice request
> last a long time?
It is doing JIT compilation (turning IL into in-memory code).
> In my case the first request last about 8 seconds,
> the second request is processed in a few milliseconds.
Sounds about right.
> Is there a way
> to advance the performance of the first webservice request?
There is a precompile.axd with web applications, but I am not sure if it
will walk a service. You can set up a console application that makes calls
on all of the methods and force compilation.
The best way, overall, is move your code to a separate library and then
consider ngening that assembly. There is still a JIT hit on the service
itself, but with all of the code in the library, you will find it is faster.
Of course, this makes it a bit more time consuming to switch out assemblies,
although you do have the option, if properly versioning, of sticking the
second version in the GAC before deploying the service and reducing
interruption.
> Calling my
> webservice in IE takes a long time too, but then, every request is
> processed immediately (even then, if the IE is closed and opened in
> the meantime, IE is able to receive the first request very fast),
> whereas my client is always a lame duck while requesting the first
> request after closing and opening the client.
This is a just an appearance thing, as IE is multi-threaded and your app
probably is not. You can fake this appearance by putting service calls on
another thread and leaving the client app responsive (repaint, etc.)
> My webservice is written in C# (.NET 2.0)
Language not important here.
--
Gregory A. Beamer
MVP, MCP: +I, SE, SD, DBA
Subscribe to my blog
http://gregorybeamer.spaces.live.com/lists/feed.rss
or just read it:
http://gregorybeamer.spaces.live.com/
*************************************************
| Think outside the box!
|
*************************************************