【发布时间】:2016-04-29 15:54:54
【问题描述】:
这可以说是我们公司遇到的最严重的问题。
我们的用户以前在 Windows 7 中使用 VMWare Horizon Client v3.1.0。自从升级到 v3.5.2 后,我们所有的内部 WinForms 或 Office Addin 应用程序访问我们的任何 SQL Server 数据库不再起作用。
只要 C# 代码到达这一行...
MikesDataContext dc = new MikesDataContext()
..在任何事情发生之前,现在大约有 800 秒(13m 40s)的延迟。即使连接字符串完全是垃圾,该行也会在抛出错误之前挂起 800 秒。
但是一旦这种延迟发生一次,它就再也不会发生了,使用该应用程序的实例。
哦,如果用户具有本地管理员权限,则根本不会发生此问题。
[问题被截断。]
【问题讨论】:
-
奇怪的问题,以前从未见过。看到本地管理员或全新安装修复它我会说它闻起来像更新搞砸了某处的权限。检查是否允许普通用户读取 app/web.config 文件。他们被允许执行 .net 框架的所有部分。如果不是这样,我将获得您的一个应用程序的调试编译版本并运行它,附加 Visual Studio 调试器并尝试调试
MikesDataContext构造函数。出于好奇:如果你什么都不做,等 15 分钟。应用是否按预期工作或崩溃? -
@NickOtten:如果我们等待,它(最终)会正常运行。不过这很奇怪,不是吗。如果升级弄乱了 .Net Framework 文件的一部分,为什么它以本地管理员身份运行时会正常工作?而且我无法进入 MikesDataContext 构造函数(可以吗?)
-
如果更新从 .net 框架的某些 dll 中删除了读取/执行权限(在这种情况下是带有 sql 驱动程序的那个),它可能会导致一些非常不可靠的结果。但正如你所说:最终它会运行。所以.net 框架不能被破坏,否则它永远不会工作。
MikesDataContext是我假设的实体框架。您可以调试那些(在打线时按 f11)。不过,您可能必须禁用 VS 调试器选项中的“仅我的代码”设置(不确定,我注意到我已禁用它)。本地管理员的事情对我来说仍然是个谜。 -
你应该发布你自己的解决方案作为答案并接受它,否则这个问题看起来没有解决。
-
好点。完成。
标签: c# sql-server vmware