Как сделать так, чтобы HttpClient безопасно отправлялся в sonarqbue - PullRequest
0 голосов
/ 03 мая 2019

Sonarqube сканирует наш код, говоря: «Убедитесь, что этот http-запрос отправлен безопасно».enter image description here

Существует ли правильный способ реализации HttpClient помимо использования шаблона Singleton?Я также пытался использовать ложную ведьму ConfigureAwait, предложенную сонаркубом.Вот ссылка https://rules.sonarsource.com/csharp/RSPEC-3216 Но sonarqube обнаружил это и сказал ту же ошибку.

1 Ответ

0 голосов
/ 03 мая 2019

Чтение здесь: https://sonarcloud.io/documentation/user-guide/security-reports/

Этот тип проблемы является «горячей точкой» безопасности, а не уязвимостью.Это говорит о том, что эту строку следует просмотреть вручную и, если она в порядке, деактивирована для текущего кода.


Рядом с

Будьте осторожны при использовании .Result назадача.В неподходящем месте вы можете получить тупик (например, вызов из контекста пользовательского интерфейса)

Лучшая реализация будет заключаться в том, чтобы обернуть httpClient.PostAsync в асинхронный метод, включив .ConfigureAwait (false).

await _httpClient.PostAsync(apiURL, content).ConfigureAwait(false);

Затем, при необходимости, вы вызываете этот метод с помощью .Result

ConfigureAwait (false) сообщает, что код после await не должен запускаться в контексте вызывающей стороны (исключая взаимные блокировки).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...