当前位置: 首页 > 知识库问答 >
问题:

当没有活动连接时,SqlConnection.OpenAsync()挂起

松建本
2023-03-14

当我运行这个:

using(SqlConnection connection = new SqlConnection(connectionString)){
    await connection.OpenAsync();
}

共有1个答案

安聪
2023-03-14

问题根本不在于连接。问题是,我的线程死锁了,我搬起石头砸自己的脚。我试图将对包含connection.openAsync()行的方法的调用作为同步调用,如下所示:

Task task = MyAsyncMethod();
task.Wait();

通过调用task.wait(),我阻塞了线程。当await connection.openAsync()返回时,该方法的其余部分希望在我刚刚阻止的同一个线程上运行,因此任务永远不会完成,task.wait()永远不会返回。解决方案:
因为在我的异步方法中没有要求我坚持调用它的同一个线程,所以我只使用await connection.openAsync().configureaWait(false),使它在其他线程中运行方法的其余部分,而不是我用task.wait()阻止的线程。

 类似资料:
  • 问题内容: 连接elasticsearch连接时出现此问题。 问题答案: 我知道这个问题已经很久了,但是我想分享一下如何解决这个问题。 如果您在本地使用elasticsearch 您必须做的第一件事是在计算机上运行elasticsearch。 因为上面的消息表明您不在本地运行elasticsearch。 因此,请访问链接并按照指示进行操作。 Docker环境 这里变得更加棘手。 首先,请按照此处的

  • 问题内容: 我试图在我的机器上安装Kibana 4,但出现以下错误。 问题答案: 该告诉你,它不能连接到Elasticsearch。该告诉你什么它试图连接到。 您需要修改和更改设置以指向您的集群。如果您在同一框上运行Elasticsearch,则正确值为。

  • Flask-SocketIO同样支持连接和断开的活动。接下来的例子将会展示怎样为他们注册一个处理函数: @socketio.on('connect', namespace='/chat') def test_connect(): emit('my response', {'data': 'Connected'}) @socketio.on('disconnected', namespace

  • 我已经运行了数据库,并且可以使用swing GUI连接到它。但当我尝试运行我的应用程序时,我得到一个启动错误。以下是详细内容: 1:错误- 信息:初始化Spring根WebApplicationContext[ERROR][pool-2-thread-1 05:20:08](JDBCExceptionReporter.java:LogException:101)无法从基础数据库获取连接![错误][

  • 我们有一个spring-boot应用程序,它使用嵌入式tomcat进行部署,并使用MySQL后端的默认tomcat-jdbc连接池,而没有为MySQL或tomcat端定制。 该应用程序有一些调度程序,它们主要在一天中的特定时间运行,即在昨天的最后一次cron运行和今天的第一次cron运行之间,有超过9个小时的间隙。然而,无论何时cron在早期运行,它都从未遇到过空闲连接问题。 现在我们看到一条错误

  • 问题内容: 当连接到SQL Server 2008(在本地表示完整的服务器,在生产环境中使用完整的服务器)时,在本地计算机上进行开发时对我来说效果很好,但是此问题仅在生产环境中挂起。 这是代码: 那就是运行的代码。在控制台中,它实际上只是挂在生产环境中。它似乎总是挂在SQL Server 2008上,但在我的所有其他客户的生产环境中都能正常工作。与…同时运行 在SQL Server的1433上启用