我知道我在失去理智。我已经做了一些事情,现在当我的应用程序访问数据库时,我收到错误“无法执行查询...等等等等等等”
内部消息显示“超时已过期。操作完成之前已超时,或服务器未响应。”
当我查看异常中的sql时,它说blah blah blah @p0
blah @p1
等等。 @p1
到@p3
被定义为我希望它们,但@p0
被定义为Castle.Proxies.UserProxy
。好的,如果我将sql放入ssms查询并将@p1
的属性转换为@p3
,然后将我期望的属性转换为@p0
,那么它会立即返回。
那么让我看看我是否可以简洁。
@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(值I 预期),2,2,'/ MenuItem / Calendar','MenuItem'然后是sql 马上回来。
目前正在发生什么事。
请帮助
RAIF
修改
基督怜悯,我发现了错误,我在global.asax中有一个onRequestEnd(或其他东西)。在那个事件处理程序中,我已经评论了关闭交易。登录时我正在更新user.lastlogindate,然后在下一页上尝试加载同一个用户。我认为因为交易没有被关闭所以它是锁定的。此外,因为我没有在部署上推送global.asax,这解释了为什么它在prod工作而不是在本地工作。
抱歉现有。
答案 0 :(得分:1)
关于简单查询的超时(特别是因为你说当你运行SQL本身时它会立即返回),它可能是数据库服务器没有响应,或者是事务和锁定的某些问题。你在使用TransactionScope吗?
对于参数,这可能只是在提取代理的身份之前显示值。
您必须展示您正在做的事情以获得更准确的回复。