3

我还没有真正找到任何明确说明这一点的东西。如果我在 npgsql 中为连接对象设置 Commandtimeout 值,是否会将其设置为无限期等待?

4

2 回答 2

4

是的,0 是无限的。

Npgqlstate.cs 包含下面的代码,context.Mediator.CommandTimeout > 0 因此如果 CommandTimeout 为 0,Npgsql 将永远等待。

internal IEnumerable<IServerResponseObject> ProcessBackendResponsesEnum(NpgsqlConnector context,
    bool cancelRequestCalled)
{
    try
    {
    // Process commandTimeout behavior.

    if ((context.Mediator.CommandTimeout > 0) &&
            (!CheckForContextSocketAvailability(context, SelectMode.SelectRead)))
于 2013-09-25T10:14:21.803 回答
-2

请参阅postgreSQL 文档

PGCONNECT_TIMEOUT 设置 libpq 在尝试连接到 PostgreSQL 服务器时将等待的最大秒数。如果未设置或设置为零,libpq 将无限期等待。不建议将超时设置为小于 2 秒。

于 2013-07-15T09:06:21.040 回答