c# - 连接小型 SQL Server (LocalDB) C# 应用程序在第一次运行时总是超时。什么可能导致这种情况?
问题描述
作为练习,我一直在尝试构建Head First C#早期版本(第 2 版)的第一章中描述的数据库应用程序。(O'Reilly 网站上的第 1 章)。
我不得不进行一些修改,因为这本书相当古老,但现在它可以工作了。它有一个 SQL Server ( LocalDB
) 数据库,ContactDB.mdf
,只包含一个表,People
。
唯一的事情是,每次我第一次运行 exe(在启动 Windows 之后)时,我都会SqlException
提到超时。该消息是荷兰语的,如果我能找到它,我会把它的英语等价物放在这里。但是尽管错误号相同,但我在网络上遇到的消息却是不同的。我收到的消息指的是握手(再次,对不起语言):
System.Data.SqlClient.SqlException (0x80131904):超出连接超时。尝试使用登录前握手确认时超时时间已过。一个可能的原因是登录前握手失败或服务器无法及时响应。尝试连接到此服务器所花费的时间是 - [Pre-Login]-initialization=16271; 握手=0;
System.ComponentModel.Win32Exception (0x80004005):请求超时
如果我关闭应用程序并再次启动它,我不会收到错误消息。
做一些研究,我发现超时的可能原因可能是查询需要很长时间(我的People
表包含 6 行)或防火墙问题。如果应用程序在第二次和后续时间始终运行良好,会不会是防火墙问题?
或者我应该设置一个不同的超时值?
任何想法将不胜感激。
解决方案
推荐阅读
- java - 获取 jvm 中为 lambda 函数加载的所有类的列表
- python - 图像 = ImageTk.PhotoImage 与变量
- c# - 如何从 C# 后面的代码中获取更改的用户控件的类名
- javascript - 将 window.localStorage 键设置为对象时遇到问题
- javascript - 为什么我在 javascript 中爬行时收到 500 错误
- java - 如何解析“{}”空值(转换为字符串)
- symfony - Symfony 4 & webpack encore 在生产环境中,我的 css 和 js 生成的文件没有加载
- angular - 如何防止对同一端点的多次调用
- c++ - 不确定如何纠正“std::out_of_range”错误
- django - React / Django / Webpack 通过主键更新现有表单和 URL slug