запрос ответа сеанса mvp - PullRequest
1 голос
/ 23 июня 2010

Я использую шаблон Model-View-Presenter в сети моего проекта, и теперь я сомневаюсь.Как мне относиться к сеансу и cookie-файлам в этом сценарии?Как мне сделать, чтобы записать файл, используя "Response.WriteFile", например?

1 Ответ

1 голос
/ 23 июня 2010

Я думаю, что наиболее типичный подход (и, фактически, тот, который используется ASP.Net MVC) - это обернуть HttpContext в абстракцию (например, IContext или что-то в этом роде), которая предоставляет любое подмножество функциональности контекста, которое вам необходимо для получения доступак.Если вы используете контейнер IoC, то вы можете довольно легко настроить IContext, который имеет реализацию по умолчанию, которая просто вызывает HttpContext.Current.Вещи начинают становиться немного сложнее, когда вам приходится ссылаться на объекты Session и Request / Response, потому что вам, как правило, нужно также обернуть их (по крайней мере, если вы хотите сохранить тестируемость в коде презентатора).Хитрость заключается в том, чтобы придумать некоторую абстракцию, которая работает для вас с точки зрения API, а затем просто сделать это так, как вы справляетесь со всеми мельчайшими деталями.

...