Как изменить NetworkTimeout для DefaultAzureCredentialC#

Место общения программистов C#
Ответить
Anonymous
 Как изменить NetworkTimeout для DefaultAzureCredential

Сообщение Anonymous »

Я пытаюсь создать простое функциональное приложение в Azure. Первым шагом является аутентификация. Код, часть аутентификации, работает в облаке, но не работает в Visual Studio 2022. Я не понимаю, что делаю неправильно. Я просмотрел несколько руководств, и все они говорят, что мне следует сделать следующее

Код: Выделить всё

// Setup a listener to monitor logged events. It is needed to monitor actions by DefaultAzureCredential.
using AzureEventSourceListener listener = AzureEventSourceListener.CreateConsoleLogger();

_logger.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");

string userAssignedClientId = "REDACTED";
var credential = new DefaultAzureCredential(new DefaultAzureCredentialOptions
{
ManagedIdentityClientId = userAssignedClientId,
CredentialProcessTimeout = TimeSpan.FromSeconds(10),
}
);
var accessToken = credential.GetToken(new TokenRequestContext(new[] { "https://analysis.windows.net/powerbi/api" }));
String accessTokenString = accessToken.Token.ToString();
Однако после выполнения кода на моем компьютере в Visual Studio 2022 я получаю исключение. Вот логи:

Код: Выделить всё

    [REDACTED] [Informational] Azure-Core: Request [REDACTED] GET http://REDACTED/metadata/identity/oauth2/token?api-version=2018-02-01&resource=REDACTED&client_id=REDACTED
[REDACTED] x-ms-client-request-id:REDACTED
[REDACTED] x-ms-return-client-request-id:true
[REDACTED] User-Agent:azsdk-net-Identity/1.12.0 (.NET 8.0.5; Microsoft Windows 10.0.22631)
[REDACTED] client assembly: Azure.Identity
[REDACTED] [Informational] Azure-Core: Request [9REDACTED] exception System.Threading.Tasks.TaskCanceledException: The operation was cancelled because it exceeded the configured timeout of 0:00:01. Network timeout can be adjusted in ClientOptions.Retry.NetworkTimeout.
[REDACTED]  ---> System.Threading.Tasks.TaskCanceledException: A task was canceled.
[REDACTED]  ---> System.Threading.Tasks.TaskCanceledException: A task was canceled.
[REDACTED]    at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
[REDACTED]    at System.Net.Http.HttpConnectionPool.HttpConnectionWaiter`1.WaitForConnectionWithTelemetryAsync(HttpRequestMessage request, HttpConnectionPool pool, Boolean async, CancellationToken requestCancellationToken)
[REDACTED]    at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
[REDACTED]    at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
[REDACTED]    at System.Net.Http.HttpClient.g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
[REDACTED]    --- End of inner exception stack trace ---

Очевидно, что мой следующий шаг — изменить ClientOptions.Retry.NetworkTimeout. Но когда я проверяю документацию. ClientOptions больше не имеет свойства Retry. Я бы сказал, что да, но это не изменяемое свойство. Кроме того, NetworkTimeout больше не является частью Retry. Вот ссылка на документацию: https://learn.microsoft.com/en-us/dotne ... ure-dotnet.
Итак, мои Вопрос в том, как мне пройти аутентификацию в своей среде разработки, то есть локально, с помощью Visual Studio 2022?
Я также должен сказать, что я совершенно новичок в C#Любая помощь приветствуется.

Подробнее здесь: https://stackoverflow.com/questions/786 ... credential
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»