1

我有一个直接连接到 SQL Server 2008 实例的移动应用程序。

通常,如果这是一个桌面应用程序,我会将每个数据库调用包装在 using 语句中:

using (SqlConnection sqlConnection = new SqlConnection(ConnectionString))
{ }

如果它是一个连接到本地紧凑型数据库的移动应用程序,我会在应用程序的整个生命周期内保持连接打开(因为每次都必须重新构建它)。

但是,现在我面临一个连接到真实服务器的移动应用程序......那么最好遵循桌面路线还是移动路线?起初我打算做桌面路由,但后来我记得移动版本甚至不支持池,所以最好让它保持打开状态?

4

1 回答 1

2

移动设备是无线的 - 电池供电。

它们旨在通过在不使用时关闭资源来消耗很​​少的电量。这适用于您的无线电!

它会在您需要时重新打开,但打开的连接不会知道这一点。

我的猜测是你会遇到连接问题。该软件将拨打一个电话并等待响应。

如果当时没有连接无线电,它可能会或可能不会抛出错误供您查看。

无论它是否引发错误,您如何重新建立与您的应用程序的连接?除非您在那里编写代码,否则您将需要重新启动您的应用程序。

我不认为有任何正确或错误的方法可以做到这一点,但我认为仅在需要时打开连接将是最佳实践的想法。

于 2013-05-08T13:30:56.940 回答