.net sqlclient-远程数据库服务器的命令超时

.net sqlclient-远程数据库服务器的命令超时,.net,sql-server,winforms,sqlclient,.net,Sql Server,Winforms,Sqlclient,我在winforms.net中开发了一个应用程序,它使用Sql Server数据库。 我的客户端将在本地intranet使用该应用程序,我的一些客户端将在远程位置使用相同的应用程序,winform应用程序位于本地区域,而数据库服务器位于另一个远程区域。现在的问题是,当他们从远程位置使用我的应用程序时,有时我会收到命令超时。目前,我已经在代码中增加了commandtimeout,运行良好。但我想知道,在这种情况下增加命令超时是一种最佳做法吗?命令超时还包括在网络通道中读取/写入数据。是否?至少这是

我在winforms.net中开发了一个应用程序,它使用Sql Server数据库。
我的客户端将在本地intranet使用该应用程序,我的一些客户端将在远程位置使用相同的应用程序,winform应用程序位于本地区域,而数据库服务器位于另一个远程区域。现在的问题是,当他们从远程位置使用我的应用程序时,有时我会收到命令超时。目前,我已经在代码中增加了commandtimeout,运行良好。但我想知道,在这种情况下增加命令超时是一种最佳做法吗?命令超时还包括在网络通道中读取/写入数据。是否?至少这是我在上发现的,所以如果数据库位于较远的位置,增加命令和连接超时是否明智?

听起来您确实需要应用程序中的另一层,因此客户机与数据/业务逻辑层对话,然后代表客户机从SQL获取数据

这样,您的客户机只需处理网络延迟,而不需要处理SQL命令超时。您也不再需要将SQL server公开给直接来自Internet上的计算机的登录,它可以配置为只允许从与SQL box位于同一物理位置的数据层进行登录

然后可以在不涉及SQL的情况下调查延迟问题