How could it hurt? By not handling the timeout, their request to save data is lost -- they have to re-enter everything. One of my co-workers claims that when he gets a timeout from an ASP page trying to save data with NHibernate, the browser is hosed and he has to close it and open a new one. I don't know if this is caused by how we're using NHibernate or not, but it's certainly not acceptable, and making the timeout huge doesn't sound acceptable either.
If it's possible to catch a timeout exception and resubmit the data without losing it, even the stupidest user can't screw up a prompt like this:
The server has not responded to your request to save data in X seconds. The server may be down, there may be a network problem, the server may be very busy, or your request may require more time. Try again, waiting 2x seconds?
If they cancel, it's no worse than hitting the timeout in the first place. If they retry and it works, they haven't lost their data. In neither case do they sit there waiting forever if you attempt a band-aid solution with a long timeout, wondering if it's a network problem or if it's really taking that long to process. The initial request isn't still pending when you get the timeout, so you can't accidentally get the request successfully processed twice if you retry.
|