gpt4 book ai didi

sql-server - 在第一次应用程序启动时打开与 SQL Server 的连接太慢

转载 作者:行者123 更新时间:2023-12-04 06:35:45 26 4
gpt4 key购买 nike

在我的 WPF4 桌面应用程序中,我通过 ADO.NET 实体数据模型 (edmx) 使用与 SQL Server 2008 R2 的连接,我注意到,当我第一次启动应用程序(冷启动)时,它需要很长时间(大约10 秒)直到应用程序建立(打开)与 DB 的连接并可以执行基本的 LINQ 查询(无连接,表非常小)并在 DataGrid 中显示结果控制。

SQL Server 2008 R2 安装在我的本地 PC 上,因此网络负载没有问题。

我建立 SQL 连接的方式(在外部线程中):

    public static DBEntities dbContext = new DBEntities();
dbContext.Connection.Open();

连接配置:
    <connectionStrings>
<add name="DBEntities" connectionString="metadata=res://*/DBModel.csdl|res://*/DBModel.ssdl|res://*/DBModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;Initial Catalog=DB;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>

我的问题是小型基本 WPF 应用程序(300 kb 可执行文件,无需大量计算)建立与本地 SQL Server 的连接大约 10-13 秒的正常行为吗?

我想,我的硬件不是那么现代,但是,无论如何,10 秒……

您能否提出一些解决方案来提高与 SQL Server 的第一次连接的性能?

附言经过长时间的第一个连接程序工作正常并且没有一些性能问题。

最佳答案

我知道在带有 SQL Server 的 WCF 上的 n 层应用程序中的这种“性能不佳”行为。虽然 10-13 秒真的很烦人而且非常极端。我所做的是启动与 WCF 服务的连接,然后将 SQL Server 连接转换为对 WCF 服务的虚拟调用,其中 SQL Server 选择查询(使用 EF)进入启动画面。

这样,最终用户就不会遇到这种第一次启动延迟。当最终用户真正想要查看/获取数据时,应用程序是响应式的。

尽管这实际上并不能“解决您的问题”,但这是一个很好的解决方法/掩盖;)

关于sql-server - 在第一次应用程序启动时打开与 SQL Server 的连接太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4906284/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com