Код Neo4j.Driver не работает в консольном приложении .net 6, но работает в формах

Я пытаюсь назвать этоGetNotificationsCount() функция как из приложения .Net 6 Forms, так и из консольного приложения.

      public async Task<long> GetNotificationsCount()
{
    var query = @"Match (p:Notification) RETURN count(p) as notificationCount";
    var count = await _dataAccess.ExecuteReadScalarAsync<long>(query);
    return count;
}

это в основном вызывает функцию ниже:

      public async Task<T> ExecuteReadScalarAsync<T>(string query, IDictionary<string, object>? parameters = null)
{
    try
    {
        parameters = parameters == null ? new Dictionary<string, object>() : parameters;
        using (var session = _driver.AsyncSession(o => o.WithDatabase(_database)))
        {
           var result = await session.ExecuteReadAsync(async tx => // <-- ***Fails Here***
            {
                T scalar = default(T);
                var res = await tx.RunAsync(query, parameters);
                scalar = (await res.SingleAsync())[0].As<T>();
                return scalar;
            });
            return result;
        }
    }
    catch (Exception ex)
    {
        // **** Did not reach here either *****
        _logger.LogError(ex, "There was a problem while executing database query");
        throw;
    }
}

Странная проблема, с которой я сталкиваюсь, заключается в том, что этот точно такой же код работает, когда я вызываю его за событием button_click() в форме, однако, когда я вызываю из консоли приложение функции main(), происходит сбой без каких-либо указаний или исключений.

Я используюNeo4j.Driver version 5.3.0если это имеет значение

Кто-нибудь знает, почему это может происходить?

0 ответов

Другие вопросы по тегам