Post by Remy Lebeau (TeamB)Then why would it take so long to respond in the first place? If you leave
things sitting long enough, eventually TIdHTTP is going to timeout
internally (unless you set its ReadTimeout property really high).
Remy, thanks for the reply.
I want you to know that my TidHTTP.ReadTimeOut property is set to 1 minute.
This is fine so far and is not causing any time-out errors so far.
Actually the behavior that is causing the problem is:
1. User fires up his/her PC.
2. User logs into application. (this is done against SQL server, no IIS yet)
3. User enters an order using the Order Entry application. This is
considered the first web request here and takes the longest. No problem.
4. User enters many more orders. No problem.
5. User steps away from PC for 5 minutes.
6. User attempts to enter another order. Problem error arises. Socket Error
#10054 Connection reset by peer.
Looking at the above behavior it almost seems that TidHTTP assumes that the
connection is still alive after 5 mintues and tries to re-use a connection
that is stale? Made stale by who? I am not sure!. And I always thought the
HTTP protocol is connectionless? It thought its about
connect-request-receive-disconnect? Isn't it?
Post by Remy Lebeau (TeamB)Are you using KeepAlives at all? If not, then each new request is going
to create a
Post by Remy Lebeau (TeamB)new connection, so even if one connection times out and is closed, future
requests should not be erroring like you have described.
I am not familiar with KeepAlives but I found this setting on IIS Website
Properties. And the feature IS enabled. How does this KeepAlives setting
affect to connection between IIS and TidHTTP? Maybe I should turn this off?
Does all this have to do with KeepAlives?