【发布时间】:2017-02-15 01:40:03
【问题描述】:
我正在使用 ef 代码优先创建一个 Web API 项目。对于简单的查询,它运行良好。但是对于有很多连接的查询(目前我在用 4 个表连接查询时遇到问题。有时,即使一个表查询也会出现这个错误),它说
说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.ComponentModel.Win32Exception:等待操作超时
奇怪的是,当我在执行查询的“For Each”查询或“For Each”内的某个值处设置断点时,它工作正常。当我删除断点时,它会发出此错误。为什么会这样?
我已经尝试将以下代码放入 Migrations 文件夹的 Configuration.vb 文件中,但仍然无法正常工作。
CommandTimeout = Int32.MaxValue
我还检查了 SQL Server 中的连接设置。也无济于事。
Tools -> Options -> Query Execution -> Execution Timeout = 0s
我也将 IIS 中的通道超时更改为 100000,但效果不佳。
Connections pane -> click the server node -> Sites node -> In Actions pane, click FTP Site Defaults -> Connections -> Control Channel Timeout and Data Channel Timeout and Unauthenticated Timeout i set them to = 100000
我担心如果我不得不在每个查询中都设置断点,那么在生产阶段会发生什么?谁能帮帮我?
【问题讨论】:
-
除非你附加调试器,否则你的断点不会被命中
-
我该怎么做?
-
这是我对您担心生产中会有断点的回答。
-
@T.S.所以我必须设置断点吗?我尝试输入代码: If (Debugger.IsAttached = False) Then Debugger.Launch() End If .. 但同样的错误在同一个地方。
-
你为什么不实际处理异常,写日志
ex.tostring看看发生了什么?什么断点?断点仅用于调试。
标签: asp.net-mvc vb.net sql-server-2012 ef-code-first