c# - 如何在异常过滤器范围内获取应用程序库 url?
问题描述
我的应用程序托管在 url
https://example.com/app/____
现在我有自定义ExceptionFilter
负责异常后的重定向
public class CustomExceptionFilter : IExceptionFilter
{
public void OnException(ExceptionContext context)
{
var ex = context.Exception;
var c = (ControllerActionDescriptor)context.ActionDescriptor;
(...)
context.Result = new RedirectResult("/Error");
}
}
问题是它重定向到
https://example.com/Error/
但我需要将它重定向到,/app/Error
所以我需要获取base path
/app/
我试过了
context.Result = new RedirectResult("错误");
context.Result = new RedirectResult("./Error");
但它们是在最后添加的,所以看起来像
https://example.com/app/auth/Error
同时我的目标是
https://example.com/app/Error
那么,我怎样才能获得应用path base
程序exception filter
?
解决方案
要访问基本路径,您可以尝试context.HttpContext.Request.PathBase.Value
.
public class CustomExceptionFilter : IExceptionFilter
{
public void OnException(ExceptionContext context)
{
var basePath = context.HttpContext.Request.PathBase.Value;
context.Result = new RedirectResult($"{ basePath }/Error");
}
}
推荐阅读
- node.js - 如何在 nginx 的 aws elastic beanstalk 中启用 X-Frame_Options
- arm64 - pi4 管理程序,处理 irq
- javascript - 为什么value 属性只接受十六进制颜色?
- r - rms 包:在 Glm 中使用 bootcov 获取效果摘要时出错
- python - 在每一帧的 Trimesh 包中更新几何图形在场景中的位置
- javascript - 为什么 100 >> 100 和 100 >>> 100 在 Javascript 中返回 6?
- javascript - 如何使用Javascript从特定的单个数组中查找所有不重复的组合
- python - 在有效数据之间用空值填充固定大小的数据框
- openssl - 从自定义 openssl 引擎调用 OpenSSL 函数导致分段错误?
- tiktok - Tik Tok Web 事件未归因