gpt4 book ai didi

c# - OnActionExecuting 方法的 URL 重定向

转载 作者:行者123 更新时间:2023-12-03 14:39:21 25 4
gpt4 key购买 nike

我们正在尝试实现一个非托管 header ,它将接受 *.website.com 之前的任何内容|在 ASP.NET 中。由于它将接受任何子域,因此我们扩展了 HttpContextBase 类以添加自定义方法。

public static bool ValidateHost(this HttpContextBase context)
{
var domain = context.Request.Url.Host;

//add logic to check if the host is valid and the subdomain exist in the database

return false;
}

此方法将验证是否 context.Url.Host是数据库中存在的有效主机或其子域,如果不存在则将请求重定向到默认主机 website.com .为此,我在我们的 BaseController 中添加了下面这行代码:
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (!filterContext.HttpContext.ValidateUrl())
{
filterContext.HttpContext.Response.Redirect("https://website.com/");
return;
}
}

每当它返回 false 时,它就会重定向到默认主机。 ,但是它抛出一个异常: {"Server cannot append header after HTTP headers have been sent."}
我在这里遗漏了什么还是逻辑不完整?

最佳答案

尝试重定向结果

filterContext.Result = new RedirectResult("https://website.com");

关于c# - OnActionExecuting 方法的 URL 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36709865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com