访问应用服务层的HttpContext

Pow*_*015 1 c# httpcontext asp.net-core aspnetboilerplate abp

我正在使用 ASP.NET Boilerplate (ASP.NET Core) 为潜在客户创建一个 CRM。

这些线索通过 API(应用服务层,而不是动态 API)推送到系统中。

我曾计划使用请求 URL (from HttpContext) 作为模型中的必填字段对潜在客户源进行快速查找。

我的问题是:在应用程序服务层中获取 post 请求的请求 URL(来源)的最佳方法是什么?

一个例子如下:

public class AboutModel : PageModel
{
    public string Message { get; set; }

    public void OnGet()
    {
        Message = HttpContext.Request.PathBase;
    }
}
Run Code Online (Sandbox Code Playgroud)

aar*_*ron 5

注射和使用IHttpContextAccessor

public class AboutModel : PageModel
{
    public string Message { get; set; }

    protected HttpContext HttpContext => _httpContextAccessor.HttpContext;
    private readonly IHttpContextAccessor _httpContextAccessor;

    public AboutModel(IHttpContextAccessor httpContextAccessor)
    {
        _httpContextAccessor = httpContextAccessor;
    }

    public void OnGet()
    {
        Message = HttpContext.Request.PathBase;
    }
}
Run Code Online (Sandbox Code Playgroud)