You pretty much have to do it that way in a web app because it's stateless.
>I have Web sites with considerable amount of traffic and we hit SQL Server several millions times a week. With an enhance design since a while, I open and close the connection at every hit. SQL Server provides connection pooling. So, this is instant. There is no need to keep a connection alive. At least, from several infrastructures I have been supporting, either at Web, desktop or Web Service applications, this is the way I do it.
Craig Berntson
MCSD, Microsoft .Net MVP, Grape City Community Influencer