我正在为我正在开发的api创建一个基本控制器,它会在每个REST请求中发送他们的application-id。我希望将ApplicationID作为私有属性访问,以供所有控制器访问。
public class BaseApiController : ApiController
{
private string ApplicationId
{
get
{
return HttpContext.Current.Request.Headers("x-application-id").ToString();
}
}
}
这样的错误就像这样:
Non-invocable member 'System.Web.HttpRequest.Headers' cannot be used like a method.
感谢您的帮助。
答案 0 :(得分:1)
Request.Headers
是NameValueCollection类型的属性,它有一个返回string
的索引器。您可以像这样使用它:
public class BaseApiController : ApiController
{
private string ApplicationId
{
get
{
return HttpContext.Current.Request.Headers["x-application-id"];
}
}
}
由于索引器已经返回string
,因此也无需在结果上调用.ToString()
。