我有一个Web API v2控制器,它使方法调用同一项目中的服务。该服务使用UrlHelper
类来组合网址,但UrlHelper类需要HttpRequestMessage
才能构建正确的网址。
如何从API控制器之外的类(我的服务)中获取HttpRequestMessage
?我可以将HttpRequestMessage
传递给服务方法吗?还有另一种从全局环境中访问的方法吗?
我正在使用自托管环境(OWIN)。
答案 0 :(得分:2)
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