2011-09-21 134 views
0

我的Web服务服务器端应用程序为来自不同用户的请求提供存储过程。我打开并关闭每个请求的ADO连接。这是可取的还是可以有人提出更好的方法?并帮助我进行会话管理。 在此先感谢。Delphi 2007 Web服务服务器端应用程序

回答

1

ADO支持连接池,因此使它在TADOConnection

+0

1最好是重用在服务器侧呼叫之间的现有连接,但连接池是为了提高速度的第二最佳解决方案。 –

+0

感谢您的信息。我不知道如何重用以前的连接。请帮帮我 –

0

创建从空白一个新连接的你的ConnectionString属性可以是非常耗时的(例如1秒以上与远程Oracle连接),因此是成为避免像地狱一样的服务应用程序。

恕我直言,最好的解决方案(从性能POV)是维护每个服务器线程一个数据库连接。所以它将取决于你的HTTP服务实现。

连接池也可以,如果你不希望处理线程,穆罕默德在他的回答中写道。

也考虑使用服务器端缓存的答案。如果你知道结果是一致的,你应该更好地将其缓存在服务器端并在客户端之间共享。当然,只有在客户请求可以共享时才值得开发。

关于会话管理,你想知道什么?我想这是关于客户端会话。对于Web服务,主要用途是通过Cookie实现会话。有关其他可能性,请参阅this SO answer about authentication of a web service。恕我直言,RESTful方法(即无状态)值得考虑的Web服务。