Не уверен насчет метода GetService
в Mono, но код, который вы подняли , можно сократить следующим образом:
private static HttpContextBase GetCurrentContext(ControllerContext context) {
return context.HttpContext;
}
На самом деле вам не нужно проходить черезПриложение для того, чтобы получить HttpContext, когда у вас есть прямой доступ к нему.Я также изменил тип возвращаемого значения на HttpContextBase
вместо HttpContext
, потому что в ASP.NET MVC рекомендуется всегда работать с абстракциями.Это делает ваш код более слабо связанным и проверяемым модулем.
Или, если по какой-то неизвестной мне причине вы хотите работать с фактическим HttpContext
(не знаю, почему кто-то хотел бы привязать к нему свой код)можно попробовать следующее:
private static HttpContext GetCurrentContext(ControllerContext context) {
return context.HttpContext.ApplicationInstance.Context;
}
Но, как вы можете видеть в обоих случаях, существование этого GetCurrentContext
статического метода становится весьма сомнительным.