【发布时间】:2021-12-10 17:47:47
【问题描述】:
在我的startup.cs 方法中public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) 我想访问HttpContext。
我想这样做的原因是我想重定向401 response to a login page。
app.UseStatusCodePages(async context => {
var request = context.HttpContext.Request;
var response = context.HttpContext.Response;
if (response.StatusCode == (int)HttpStatusCode.Unauthorized)
// you may also check requests path to do this only for specific methods
// && request.Path.Value.StartsWith("/specificPath")
{
response.Redirect("/account/login");
}
});
以上示例中的context 没有HttpContext 属性。如何访问HttpContext?
【问题讨论】:
-
根据documentation: Configuring status code pages,该代码应该可以工作。唯一的事情是,如果不做任何异步操作,则从表达式参数中删除
async前缀。 -
@Nkosi 问题是 context.HttpContext.Request 没有 HttpContext 所以必须缺少一些设置......
-
缺少分号:response.Redirect("/account/login");代码正在编译,没有错误。
标签: .net asp.net-core asp.net-core-1.0