Изменить заголовок запроса ASP MVC по умолчанию, чтобы добавить свои собственные значения

. Я пытаюсь изменить все заголовки HTTP-ответов ASP MVC, чтобы они имели другое значение по умолчанию для реализации автоматического обнаружения Pingback -. в моем приложении для блога.

Заголовок по умолчанию (на Cassini )— это :

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

, и я хочу добавить дополнительную ценность:

X-Pingback: http://localhost:4912/pingback/xmlrpcserver

Я немного погуглил и нашел решение neet : --, полученное из ActionFilterAttribute и переопределите метод OnResultExecuted :

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);
        }

    }

А затем просто поместил атрибут в методы моих контроллеров:

[HttpHeader("X-Pingback","http://localhost:4912/pingback/xmlrpcserver")]
        public ActionResult Index()
        {
            var allArticles = _repository.GetPublishedArticles(SortOrder.desc);
            return View(allArticles);
        }

Когда я запускаю приложение, я получаю следующую ошибку: enter image description here

Есть идеи?

9
задан Alex Peta 20 April 2012 в 22:56
поделиться