Ändern Sie den Standard-ASP-MVC-Anforderungsheader, um Ihre eigenen Werte hinzuzufügen
Ich versuche, alle meine ASP MVC-HTTP-Antwortheader so zu ändern, dass sie standardmäßig einen anderen Wert für die Implementierung der automatischen Pingback-Erkennung in meiner Bloganwendung aufweisen.
Der Standardheader (bei Cassini) lautet:
<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>
und ich möchte einen zusätzlichen Mehrwert:
<code>X-Pingback: http://localhost:4912/pingback/xmlrpcserver </code>
Ich habe ein bisschen gegoogelt und eine neet Lösung gefunden: - abzuleitenActionFilterAttribute und überschreiben dieOnResultExecuted Methode:
<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>
Und dann lege ich einfach das Attribut auf meine Controllers-Methoden:
<code>[HttpHeader("X-Pingback","http://localhost:4912/pingback/xmlrpcserver")] public ActionResult Index() { var allArticles = _repository.GetPublishedArticles(SortOrder.desc); return View(allArticles); } </code>
Wenn ich die App runt, erhalte ich den folgenden Fehler:
Irgendwelche Ideen?