Как указать SDK dot net Graph использовать собственный прокси-сервер?C#

Место общения программистов C#
Ответить
Гость
 Как указать SDK dot net Graph использовать собственный прокси-сервер?

Сообщение Гость »


У меня возникли проблемы с тем, чтобы пакет SDK dotnetgraph использовал настройки прокси-сервера должным образом. Я попытался установить прокси-сервер при инициализации HttpClient с помощью GraphClientFactory, но, похоже, все равно получил исключение, которое показано ниже. Эти же параметры передаются в ConfidentialClientApplicationBuilder и используются для успешного запроса токена аутентификации. Он также без проблем обменивается данными с внутренними API-интерфейсами приложений через те же настройки прокси-сервера. Может ли кто-нибудь помочь мне указать правильное направление? Я использую самую последнюю версию Graph SDK 4.36.0.0

Инициализация общедоступной асинхронной задачи (веб-прокси WebProxy) { вар httpClientFactory = новый GraphIntegrationHttpClientFactory (webProxy); IConfidentialClientApplication daemonClient; //Создает службу-демон. daemonClient = ConfidentialClientApplicationBuilder.Create(_clientId) .WithAuthority(string.Format(Constants.AuthorityFormat, _tenantId)) .WithClientSecret(_clientSecret) .WithHttpClientFactory(httpClientFactory) .Строить(); //Получает токен авторизации. AuthenticationResult authResult = ждут daemonClient.AcquireTokenForClient(новая строка [] {Constants.MsGraphScope}) .ExecuteAsync(); ClientCredentialProvider authProvider = новый ClientCredentialProvider (daemonClient); обработчики var = GraphClientFactory.CreateDefaultHandlers(authProvider); handlers.Add(new LoggingHandler(_logService)); вар httpClient = GraphClientFactory.Create (обработчики, прокси: webProxy); httpClient.Timeout = TimeSpan.FromMinutes(5); _graphServiceClient = новый GraphServiceClient (httpClient); } Исключение
Microsoft.Graph.ServiceException: Код: GeneralException Сообщение: Произошла ошибка при отправке запроса. ---> System.InvalidOperationException: при использовании прокси-сервера, отличного от NULL, для свойства WindowsProxyUsePolicy должно быть установлено значение WindowsProxyUsePolicy.UseCustomProxy. в Application.Common.Graph.Handlers.LoggingHandler.d__2.MoveNext() в C:\Users\DamienOstler\Documents\GitHub\Application\src\main\Application.Common.Graph\Handlers\LoggingHandler.cs:line 42 --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача) в Microsoft.Graph.RedirectHandler.d__6.MoveNext() --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача) в Microsoft.Graph.RetryHandler.d__9.MoveNext() --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача) в Microsoft.Graph.CompressionHandler.d__2.MoveNext() --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача) в Microsoft.Graph.AuthenticationHandler.d__16.MoveNext() --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача) в Microsoft.Graph.SimpleHttpProvider.d__13.MoveNext() --- Конец внутренней трассировки стека исключений --- в Microsoft.Graph.SimpleHttpProvider.d__13.MoveNext() --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача) в Microsoft.Graph.SimpleHttpProvider.d__10.MoveNext() --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача) в Microsoft.Graph.BaseRequest.d__40.MoveNext() --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача) в Microsoft.Graph.BaseRequest.d__34`1.MoveNext() --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача) в Microsoft.Graph.UserRequest.d__5.MoveNext() --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в Application.Common.Graph.OneDriveIntegration.d__10.MoveNext() в C:\Users\DamienOstler\Documents\GitHub\Application\src\main\Application.Common.Graph\OneDriveIntegration.cs:line 144
Ответить

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

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

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

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

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