Ответ 1
Пожалуйста, не обращайтесь к HttpContext
с контроллера.
Вы можете получить доступ к свойству User
, которое является способом доступа к Identity через без ссылки dirrect на HttpContext
.
public class MyController : ApiController
{
public string Get()
{
var indenty = this.User.Identity;
}
}
Почему
Свойства контроллеров User
обеспечивают уровень абстракции, который позволяет упростить насмешку и, таким образом, модульное тестирование. Эта абстракция также обеспечивает большую переносимость, например. если это был WebApi Self Host, у вас даже не было бы доступа к HttpContext
.
Чтобы узнать больше о unit test и высмеивать свойство User, прочитайте здесь. Для получения дополнительной информации re: portability читайте здесь.