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 / April 2005

Tip: Looking for answers? Try searching our database.

Server stops responding?

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Bradley Plett - 25 Apr 2005 17:38 GMT
I have written both a server and a client using WSE 2.0 SP3.
Generally, it works very well.  However, it is possible for the client
to fire a lot of requests in quick succession.  Occasionally when the
client fires too many requests too quickly, the server stops
responding to the client.  The server stops responding only to the
specific client that caused the problem, and it seems the server will
never again respond to that client.  If I stop and restart the client,
the communication works again.  Unfortunately, I haven't been able to
figure out what causes this nor the threshold at which it happens.
I've turned on both logging and detailed error messages, but all this
shows is "System.Web.Services.Protocols.SoapHeaderException: Server
unavailable, please try later".

What I would like is either 1) to be able to fix the problem so that
this never happens, or 2) figure out some meaningful way of preventing
the client from firing too many requests, or 3) figure out how to
resent the communications in such a situation so that the server will
respond to the client again.

There are, of course, simple ways of preventing too many requests
(e.g. timer), but I'd much prefer something elegant that is actually
linked to the problem.  For example, if the server is getting too busy
(whatever that means), have it return a response to the client telling
the client to slow down or something.

Any ideas on 1) what's causing this, and 2) how to work around it?

Thanks!
Brad.
[MSFT] - 26 Apr 2005 03:35 GMT
Hello,

Based on the information, I suspect the problem occur on the client side,
for example, you open too many threads or connections. When the problem
occurred, if you open IE on the client and try to open a web page on the
server, can it display correctly?

Also, to handle such a problem, we have to consider from client side. Since
the server is not avaible, we cannot expect the server return some message
like "I am busy". We can add some exception handling code on client side
and set proper value for the timeout of web request. Another way you can
consider is to add a queue on client sides and store all request in it
first so that it wouldn't submit too much request at same time.

Luke
Bradley Plett - 26 Apr 2005 06:48 GMT
I agree that this may well be a client problem.  Some of my initial
evidence seemed to suggest a server issue, but on closer examination I
was less convinced that the server was causing the problem.  In fact,
what I tried earlier today was to limit the number of concurrent
client threads making requests to a maximum of ten, and then I could
not recreate the problem.  (I thought about using a queue, which would
be a better solution, but it may be overkill for what I need right
now.)  By the way, I arbitrarily picked ten concurrent threads (which
probably closely approximates the number of concurrent requests) and
that made the problem go away.  Can someone tell me what the actual
maximum I should use is, or is it configurable?  Is it OS-dependent?

I am, however, left with a certain amount of curiosity:  why does the
client never recover?  The timeouts occur as expected, but once this
situation has occurred, no further requests ever reach the server.  I
have to terminate the client application and restart it in order to
get it working again.  This is, however, strictly curiosity and a
desire to understand:  the above work-around is sufficient for my
needs in this case.

Brad.

>Hello,
>
[quoted text clipped - 11 lines]
>
>Luke
[MSFT] - 27 Apr 2005 06:46 GMT
Hi Brad,

I think it should be OS-dependent limitation. For example, there is a max
connction number for this client to the server. I suggest you may consult
your network administrator for this. Also, I think the application may not
release the connection or ports until you close it.

Luke
William Stacey [MVP] - 27 Apr 2005 19:12 GMT
When you see the problem, how many connections/threads are running?  Was it
around 1700?

Signature

William Stacey [MVP]

> I agree that this may well be a client problem.  Some of my initial
> evidence seemed to suggest a server issue, but on closer examination I
[quoted text clipped - 33 lines]
> >
> >Luke
Bradley Plett - 28 Apr 2005 07:53 GMT
Oh, no, it never got nearly that high.  I never got a consistent
number, but I doubt it ever exceeded 100.

Brad.

>When you see the problem, how many connections/threads are running?  Was it
>around 1700?

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.