#asp.net-core-3.1
#asp.net-core-3.1
Вопрос:
Я видел много сообщений, в которых подробно описывается, как получить IP-адрес, находясь внутри контроллера, но у меня есть несколько служебных классов C #, которые выполняют большую часть работы, которые вызываются из контроллера.
Мне нужно иметь возможность получать IP-адрес клиента и т. Д. Из этих классов обслуживания, И я предпочел бы не отправлять контекст из контроллера в класс обслуживания. Возможно ли это?
Заранее благодарю вас.
Ответ №1:
Один из способов — передать HttpContext
аргумент метода. Простое и понятное решение. К сожалению, не уверен в плюсах и минусах этого.
Другой способ, согласно ASP.NET Документация по ядру 3.1, вы можете внедрить IHttpContextAccessor
и получить доступ HttpContext
через нее. Это было бы более элегантным способом, ИМХО.