如何在控制器外获取HttpRequestMessage
How to obtain HttpRequestMessage outside of controller
我有一个 Web API v2 控制器,它对同一项目中的服务进行方法调用。该服务使用 UrlHelper
class 组合 URL 但是,UrlHelper class 需要 HttpRequestMessage
才能构建正确的 URL .
如何从 API 控制器之外的 class(我的服务)中获取 HttpRequestMessage
?我可以将 HttpRequestMessage
传递给服务方法吗?还有另一种从全局上下文访问的方法吗?
我正在使用自托管环境 (OWIN)。
public class FooController : ApiController
{
public IHttpActionResult BarAction()
{
UrlHelper urlHelper = GetUrlHelperFromWhereever();
urlHelper.DoSomething( this.Request );
}
this.Request
是 HttpRequestMessage: https://msdn.microsoft.com/en-us/library/system.web.http.apicontroller.request(v=vs.118).aspx#P:System.Web.Http.ApiController.Request
我有一个 Web API v2 控制器,它对同一项目中的服务进行方法调用。该服务使用 UrlHelper
class 组合 URL 但是,UrlHelper class 需要 HttpRequestMessage
才能构建正确的 URL .
如何从 API 控制器之外的 class(我的服务)中获取 HttpRequestMessage
?我可以将 HttpRequestMessage
传递给服务方法吗?还有另一种从全局上下文访问的方法吗?
我正在使用自托管环境 (OWIN)。
public class FooController : ApiController
{
public IHttpActionResult BarAction()
{
UrlHelper urlHelper = GetUrlHelperFromWhereever();
urlHelper.DoSomething( this.Request );
}
this.Request
是 HttpRequestMessage: https://msdn.microsoft.com/en-us/library/system.web.http.apicontroller.request(v=vs.118).aspx#P:System.Web.Http.ApiController.Request