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

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

Заголовок по умолчанию (на Кассини):

<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>

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

<code>X-Pingback: http://localhost:4912/pingback/xmlrpcserver
</code>

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

<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>

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

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

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

Есть идеи?

Ответы на вопрос(3)

Ваш ответ на вопрос