Application_PreSendRequestHeaders 和 Application_BeginRequest 在 ASP.NET MVC 6 (ASP.NET 5)
Application_PreSendRequestHeaders and Application_BeginRequest in ASP.NET MVC 6 (ASP.NET 5)
如何在 ASP.NET 5 (MVC6) 中使用这些方法。在 MVC5 中,我在 Global.asax... 中使用它,现在呢?启动 class 也许?
protected void Application_PreSendRequestHeaders(object sender, EventArgs e)
{
HttpApplication app = sender as HttpApplication;
app?.Context?.Response.Headers.Remove("Server");
}
protected void Application_BeginRequest(object sender, EventArgs e)
{
if (this.Request.Url.Host.StartsWith("www") || this.Request.Url.IsLoopback) return;
var url = new UriBuilder(this.Request.Url) { Host = "www." + this.Request.Url.Host };
this.Response.RedirectPermanent(url.ToString(), endResponse: true);
}
谢谢!
中间件!
public void Configure(IApplicationBuilder app, ILoggerFactory loggerfactory)
{
app.Use(next => async context =>
{
context.Response.Headers.Remove("Server");
await next.Invoke(context);
});
app.Use(next => async context => {
if (context.Request.Path.ToString().StartsWith("www"))
await next.Invoke(context);
else
context.Response.Redirect("www" + context.Request.Path.ToString());
});
}
这是一个很好的tutorial。
如何在 ASP.NET 5 (MVC6) 中使用这些方法。在 MVC5 中,我在 Global.asax... 中使用它,现在呢?启动 class 也许?
protected void Application_PreSendRequestHeaders(object sender, EventArgs e)
{
HttpApplication app = sender as HttpApplication;
app?.Context?.Response.Headers.Remove("Server");
}
protected void Application_BeginRequest(object sender, EventArgs e)
{
if (this.Request.Url.Host.StartsWith("www") || this.Request.Url.IsLoopback) return;
var url = new UriBuilder(this.Request.Url) { Host = "www." + this.Request.Url.Host };
this.Response.RedirectPermanent(url.ToString(), endResponse: true);
}
谢谢!
中间件!
public void Configure(IApplicationBuilder app, ILoggerFactory loggerfactory)
{
app.Use(next => async context =>
{
context.Response.Headers.Remove("Server");
await next.Invoke(context);
});
app.Use(next => async context => {
if (context.Request.Path.ToString().StartsWith("www"))
await next.Invoke(context);
else
context.Response.Redirect("www" + context.Request.Path.ToString());
});
}
这是一个很好的tutorial。