ASP.NET MVC: Ускоритель для IE или свой ActionResult вместо GenericHandler.ashx

История одного проекта

После того как проект calabonga.com сменил свой движок на MVC (свидетелями чего стали читатели цикла статей “История одного проекта”), мне до сих пор приходится доводить до ума проект возвращая ему былой функционал. На этот раз ускоритель Share контента. Эта статья продолжение предыдущей версии для ASP.NET.

Проще пареной репы

Для того чтобы реализовать тоже самое но только теперь для ASP.NET MVC следует создать новый класс LentaResult, унаследовав его от ActionResult:

1: publicclass LentaResult : ActionResult { 2: privatereadonly ILentaRepository lentaRepository; 3: 4: public LentaResult(ILentaRepository lentas) { 5: this.lentaRepository = lentas; 6: } 7: 8: publicoverridevoid ExecuteResult(ControllerContext context) { 9: string content = string.Empty; 10: HttpRequestBase request = context.HttpContext.Request; 11: if (request.QueryString[«content»] != null) { 12: content = request.QueryString[«content»].ToString(); 13: } 14: if (!string.IsNullOrEmpty(content)) { 15: Lenta lenta = new Lenta(); 16: lenta.Content = content; 17: lenta.CreatedAt = System.DateTime.Now; 18: lenta.HallId = 7; 19: lenta.VoteCount = 0; 20: lentaRepository.InsertOrUpdate(lenta); 21: lentaRepository.Save(); 22: HttpContext.Current.Response.Redirect(«~/»); 23: } 24: } 25: }

В контролере еще проще

Просто надо вызвать метод и вернуть как результат LentaResult:

1: public LentaResult PostToLenta() { 2: returnnew LentaResult(lentaRepository); 3: }

Как заключение

Далее достаточно поменять пути в файле LentaIE.xml и обновить код установки ускорителя.

Подробнее: http://feedproxy.google.com/~r/blogmusor/~3/N55auRK2YE4/92

Источник: lred.ru

Оцените статью
новости для мужчин