从HttpActionContext访问当前的HttpContext

时间:2016-06-01 08:37:52

标签: c# asp.net-web-api

我有一个自定义AuthorizationFilterAttribute来检查客户端应用程序是否有权使用该API。

作为" OnAuthorization"的一部分;我想在Web应用程序的AppData文件夹中记录一个简单文本文件中的请求。

要执行此操作,我需要访问Server.MapPath(),但它似乎不属于HttpActionContext

显然,我可以使用HttpContext.Current.Server.MapPath(....),但我想知道我是否遗漏了什么。

public class CustomAuth: System.Web.Http.Filters.AuthorizationFilterAttribute
{
    public override bool AllowMultiple
    {
        get { return false; }
    }

    public override void OnAuthorization(HttpActionContext actionContext)
    {
        /* Is this available as part of "actionContext" */
        var Path = HttpContext.Current.Server.MapPath(....) 
    }
}

1 个答案:

答案 0 :(得分:3)

这可以通过另一种方式完成:

var path = System.Web.Hosting.HostingEnvironment.MapPath("~/your-path");