Контроллерконтекст против HttpContext в Azure

Мне интересно, есть ли какие-либо последствия между использованием ControllerContext в отличие от HttpContext в настройках Azure. Я обнаружил, что HttpContext является статическим потоком, и я пытаюсь выяснить, актуально ли это в Azure или нет.

Предполагая, что реальной разницы нет, могу ли я гарантировать, что они будут равны при вызове действия контроллера? Я пытаюсь написать модульные тесты для установленного приложения, которое выполняет некоторые вызовы HttpContext.Current в действиях контроллера. В некоторых местах приложения изменения вносятся непосредственно в HttpContext.Current (в частности, как часть авторизации). Если я переключусь на ControllerContext, будут ли отражены изменения, внесенные в HttpContext.Current?

Спасибо!


person Will    schedule 25.05.2011    source источник


Ответы (2)


Это не совсем одно и то же, но если вы вызываете их обоих в одном входящем потоке из веб-вызова, тогда они действительно будут предоставлять механизмы для доступа к одному и тому же экземпляру HttpContext.

См. Этот вопрос и ответ - Разница между HttpContext. Current и Controller.Context в MVC ASP.NET.

Для удобства тестирования лучше перейти к ControllerContext, если это возможно.

person Stuart    schedule 25.05.2011

Что касается ControllerContext и HttpContext, я понятия не имею. Я просто знаю, что Windows Azure к этому не имеет отношения. Windows Azure работает под управлением Windows и IIS7, поэтому любой ответ на ваше локальное решение в равной степени относится и к облаку.

person dunnry    schedule 25.05.2011