我知道我正在失去理智。我已经做了一些事情,现在当我的应用程序访问数据库时,我收到一个错误“无法执行查询......等等等等”
内部消息显示“超时已过期。在操作完成之前超时时间已过或服务器未响应。”
当我查看异常中的 sql 时,它会说 blah blah blah blah@p0
等等@p1
。 @p1
to@p3
被定义为我期望的那样,但@p0
被定义为Castle.Proxies.UserProxy
. 好的,所以如果我将 sql 放入 ssms 查询中,然后将属性子化为@p1
to @p3
,然后再将我期望的属性子化,@p0
那么它会立即返回。
所以让我看看我是否可以简洁。
- 我的错误是无法执行 sql 并且 sql 超时。
- 我的错误信息有 SQL。
- SQL 有 4 个参数
@p0,@p1,@p2,@p3
。 错误显示参数定义为
\r\nPositional parameters: #0>Castle.Proxies.UserProxy #1>2 #2>2 #3>/MenuItem/Calendar #4>/MenuItem\r\n
如果我将 sql 复制到 ssms 查询中并替换 1(我期望的值)、2、2、'/MenuItem/Calendar'、'MenuItem',那么 sql 会立即返回。
tarnation 中发生了什么。
请帮忙
拉伊夫
编辑
上帝保佑,我发现了错误,我在 global.asax 中有一个 onRequestEnd (或其他东西)。在那个事件处理程序中,我已经注释掉了关闭交易。登录时,我正在更新 user.lastlogindate,然后在下一页尝试加载同一用户。我认为由于事务没有关闭,它被锁定了。此外,因为我没有在部署时推送 global.asax,这解释了为什么它在产品中而不是在本地工作。
地狱对产品没有任何意义,因为它是编译的。任何。忘掉它
抱歉存在。