Я создаю основной WebApi C# asp.net, который имеет доступ ко всем данным пользователей.
Могу ли я добавить GraphServiceClient для внедрения зависимостей основной службы aspnet в качестве продолжительности жизни Singleton? Это потокобезопасно?
Объект GraphServiceClient
является потокобезопасным и реентерабельным. GraphServiceClient
класс обрабатывает запросы на построение, отправку их в Graph API и обработку ответов.
Я использую GraphServiceClient
как синглтон в нескольких приложениях веб-API и никогда не сталкивался с этой проблемой.
Вы можете повторно использовать клиент или создавать новый экземпляр при каждом вызове. Это действительно зависит от того, как вы хотите управлять экземплярами клиента.
Это основано на опыте. Конечно, это зависит от вашего варианта использования и версии SDK. Я использую v4 в течение многих лет без проблем. Для v5 могу попробовать создать тест. Было бы полезно услышать опыт других разработчиков.
Спасибо за помощь. Знаете ли вы какие-либо ссылки на документацию Microsoft, в которой говорится, что это потокобезопасно? Я искал и получил противоречивую информацию.