Zmień domyślny nagłówek żądania ASP MVC, aby dodać własne wartości
Próbuję zmienić wszystkie moje nagłówki odpowiedzi ASP MVC HTTP, aby mieć domyślnie inną wartość do implementacji automatycznego wykrywania Pingback w mojej aplikacji blogu.
Domyślny nagłówek (na Cassini) to:
<code>Cache-Control private Connection Close Content-Length 20901 Content-Type text/html; charset=utf-8 Date Fri, 20 Apr 2012 22:46:11 GMT Server ASP.NET Development Server/10.0.0.0 X-AspNet-Version 4.0.30319 X-AspNetMvc-Version 3.0 </code>
i chcę dodatkowej wartości dodanej:
<code>X-Pingback: http://localhost:4912/pingback/xmlrpcserver </code>
Poszukałem trochę informacji i znalazłem rozwiązanie neet: - aby wyprowadzićActionFilterAttribute i nadpisujOnResultExecuted metoda:
<code>public class HttpHeaderAttribute : ActionFilterAttribute { public string Name { get; set; } public string Value { get; set; } public HttpHeaderAttribute(string name, string value) { Name = name; Value = value; } public override void OnResultExecuted(ResultExecutedContext filterContext) { filterContext.HttpContext.Request.Headers.Add(Name, Value); base.OnResultExecuted(filterContext); } } </code>
A potem po prostu umieszczam atrybut na moich metodach kontrolerów:
<code>[HttpHeader("X-Pingback","http://localhost:4912/pingback/xmlrpcserver")] public ActionResult Index() { var allArticles = _repository.GetPublishedArticles(SortOrder.desc); return View(allArticles); } </code>
Podczas uruchamiania aplikacji pojawia się następujący błąd:
Jakieś pomysły?