【发布时间】:2019-12-20 05:46:15
【问题描述】:
对于我正在开发的应用程序,我不得不使用 ODBC 连接来访问数据库。我遇到的一个问题是我不确定如何甚至是否可以异步使用它。如果这真的不可能,有人知道可能的解决方法吗?
【问题讨论】:
-
使用 Dapper:stackoverflow.com/a/25545312/2557682
标签: c# asp.net-core odbc
对于我正在开发的应用程序,我不得不使用 ODBC 连接来访问数据库。我遇到的一个问题是我不确定如何甚至是否可以异步使用它。如果这真的不可能,有人知道可能的解决方法吗?
【问题讨论】:
标签: c# asp.net-core odbc
多任务处理和 Web 服务器是一对奇怪的组合。
一方面,网络服务器会自动执行大规模多线程(通常每个连接 1 个线程)。并行的多个请求是令人愉快的并行。
另一方面,您不应该在服务器端使用多任务处理。 It is expected for a page 从头开始构建,根据请求填充,处理,渲染并尽快从内存中删除。您要么将页面保留在内存中的时间过长,要么在页面和与之相关的所有内容都被删除之前永远不会得到结果。
如果要完成任何多任务处理,则必须在客户端完成。通常使用一些 JavaScript。特别是 AJAX。然后,客户端甚至可以为此目的与特殊的 WebService 通信(因此 WebServer 对“真实”请求保持空闲。
【讨论】:
async/await,但在此之前,我们必须在 Win32 上使用 Overlapped IO,在 Linux 上使用 epoll/select - 这种做法可以追溯到 几十年。 (每个线程至少需要几百 KB,请在 1990 年代后期尝试这样做,当时您只有 64MB RAM 可供使用)。