我有一个直接连接到SQL Server 2008实例的移动应用程序。
通常情况下,如果这是一个桌面应用程序,我会在using语句中包装每个数据库调用:
using (SqlConnection sqlConnection = new SqlConnection(ConnectionString))
{ }
如果它是连接到本地压缩数据库的移动应用程序,我会在应用程序的生命周期中保持连接打开(因为它必须每次都重建)。
但是,现在我面临着一个连接到真实服务器的移动应用程序......那么最好是遵循桌面路由还是移动路由?起初我打算做桌面路线,但后来我记得移动版本甚至不支持池化,所以也许最好把它打开?
答案 0 :(得分:2)
移动设备是无线的 - 电池供电。
它们旨在通过在不使用时关闭资源来使用非常少的电量。这适用于您的无线电台!
当你需要它时它会重新打开,但是一个Open连接不会知道。
我的猜测是你会遇到与之相关的连接问题。该软件将拨打一个电话并等待回复。
如果当时没有连接无线电台,它可能会或可能不会引发错误供您查看。
是否抛出错误,您如何重新建立与应用程序的连接?除非您在那里编写代码,否则您需要重新启动应用程序。
我认为没有任何正确或错误的方法可以做到这一点,但我认为只有在您需要时才打开连接将是一个最佳实践的想法。