C# Npgsql命令超时值;0是无限的吗?

C# Npgsql命令超时值;0是无限的吗?,c#,visual-studio-2010,npgsql,C#,Visual Studio 2010,Npgsql,我真的没有找到任何明确说明这一点的东西。如果我在npgsql中为连接对象设置Commandtimeout值,是否会将其设置为无限期等待?请参阅: PGCONNECT_TIMEOUT设置libpq在尝试连接到PostgreSQL server时等待的最大秒数。如果未设置或设置为零,libpq将无限期等待。建议不要将超时设置为小于2秒 是的,0是无限的 Npgqlstate.cs包含以下代码,如context.Mediator.CommandTimeout>0 因此,如果CommandTimeout

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

请参阅:

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

是的,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)))
内部IEnumerable ProcessBackendResponseNum(NpgsqlConnector上下文,
bool取消请求(已调用)
{
尝试
{
//进程命令超时行为。
if((context.Mediator.CommandTimeout>0)&&
(!CheckForContextSocketAvailability(上下文,SelectMode.SelectRead)))