Groups | Blog | Home
all groups > asp.net > august 2007 >

asp.net : Do Web services have a lease time?


Deane
8/4/2007 7:35:08 PM
Is there a lease time on Web service requests?

We have a Web service that stops responding after a couple days.
After a certain point in time, all requests to it get "The operation
has timed out." It just happens suddenly, every 48 hours or so, and
all requests begin fail.

What's odd is that it appears to be client-specific. After this error
appears, you can still pull up the WSDL in a browser and it responds
fine (the browser, after all, is a new client to the Web service).

Additionally, once you restart IIS (on the client machine -- the
machine using the Web service), everything works fine again.

It's as if the Web service expires some kind of lease for the IIS
client and starts rejecting requests. By restarting IIS, it clears
some cache and it becomes a new client, with a new lease.

I'll looked around quite a bit, and the only reference I can find to
lease times is with .Net remoting. However, this is a Web service --
I'm not doing a .Net-to-.Net remote invocation of anything.

Any ideas?

Deane
Jesse Houwing
8/4/2007 9:04:09 PM
Hello Deane,

[quoted text, click to view]

No, there's no sucht thing

[quoted text, click to view]

My guess would be an unproperly disposed/closed database connection or something
similar. It's my experience that it is almost always something like that...

Jesse

Deane
8/4/2007 10:02:40 PM
Thanks for the response.

The only thing this Web service does is accept a small XML file and
write it to the file system. That's it.

Additionally, the Web service works fine for 24 - 48 hours. Then it
starts timing out. When it does, no changes are made to the Web
service client or server. The IIS client is just restarted, and we're
back in business.

Deane



On Aug 4, 4:04 pm, Jesse Houwing <Jesse.houw...@nospam-sogeti.nl>
[quoted text, click to view]

Göran_Andersson
8/4/2007 10:11:58 PM
[quoted text, click to view]

No.

[quoted text, click to view]

It's obviously not the web service that stops responding, it's the
client that stops working.

What are you using to call the web service, and what else is the client
doing that might fail?

[quoted text, click to view]


--
Göran Andersson
_____
Jesse Houwing
8/4/2007 10:28:34 PM
Hello Deane,

[quoted text, click to view]

If it's that simple, can you show us the code?

Jesse


[quoted text, click to view]

Deane
8/4/2007 10:48:39 PM
Sure:

public void Receive(XmlDocument TheXml)
{
System.Guid Guid = System.Guid.NewGuid();

string Path =
ConfigurationManager.AppSettings["IncomingAppFolder"] +
Guid.ToString() + ".xml";

TheXml.Save(Path);
}

That's it.

Note too that the error returned is NOT bubbled up from the Web
service. It's not like the Web service throws an error and returns it
to the caller. Rather, the caller cannot contact the Web service
anymore -- the initial call to the service times out.

Until you bounce IIS (the IIS on the calling server, not the target),
then it starts working fine again.

Deane



On Aug 4, 5:28 pm, Jesse Houwing <Jesse.houw...@nospam-sogeti.nl>
[quoted text, click to view]

Deane
8/5/2007 1:32:41 AM
All:

I think we can close this one. After some more debugging, I've
determined this is not a Web service problem, it's a connection
problem. When the Web service starts timing out, the IIS logs go
blank, so the request isn't even getting to IIS, much less the Web
service.

Beginning to think this has something to do with Keep-Alives. I have
now shut them off on the Web service IIS instance. Hoping that solves
my problem.

Deane



[quoted text, click to view]

AddThis Social Bookmark Button