Estoy intentando cambiar todos mis encabezados de respuesta HTTP ASP MVC para que tengan otro valor predeterminado para implementar el descubrimiento automático de Pingback en la aplicación de mi blog.Cambiar encabezado de solicitud MVC de ASP predeterminado para agregar sus propios valores
El encabezado predeterminado (en Cassini) es:
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
y quiero un valor extra añadido:
X-Pingback: http://localhost:4912/pingback/xmlrpcserver
he buscado en Google un poco y encontró una solución neet: - a derivar de ActionFilterAttribute y anular el método 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);
}
}
Y luego simplemente pongo el atributo en mis métodos Controladores:
[HttpHeader("X-Pingback","http://localhost:4912/pingback/xmlrpcserver")]
public ActionResult Index()
{
var allArticles = _repository.GetPublishedArticles(SortOrder.desc);
return View(allArticles);
}
Cuando i Runt la aplicación Me sale el siguiente error:
¿Alguna idea?
¿Ha intentado IISExpress en lugar de Cassini? –
@dtryon no, lo intentaré ahora y le dejaré saber –
el error fue de hecho de Cassini;) –