WebApi Controller中的HttpContext.Current.Request.UrlReferrer为Null

时间:2017-08-16 15:50:26

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

This doesn't work for me我需要在客户端的Web API控制器中设置CookieHeaderValue.Domain属性,因为我需要获取向WebApi Controller发出请求的客户端的URL。我的WebApi控制器和客户端是我做的两个独立的项目。

如何获取在WebApi控制器中发出请求的客户端的URL?

P.S。我有WebApi控制器,允许客户端使用OWIN授权基于Digest,Basic和OAuth 2发出某些请求。我有一个客户端获取用户输入,使用jQuery向MVC控制器发出异步请求,内部调用WebApi控制器,返回响应数据并将其作为客户端的部分视图返回。我无法提供所有代码。在这种情况下,我应该提供什么代码来满足MCVE要求?谢谢。

我的WebApi控制器:

[CustomAuthorize]
public class EmployeesController : ApiController
{

    [HttpGet]
    public HttpResponseMessage GetEmployeeById(int id)
    {
        var test = HttpContext.Current.Request.UrlReferrer; // UrlReferrer is null

这是请求的发送方式:

private static HttpClientHandler handler = new HttpClientHandler()
{
    UseCookies = true,
    UseDefaultCredentials = true,
    CookieContainer = new CookieContainer()
};

private HttpClient client = new HttpClient(handler);

[EnableCors("*", "*", "*")]
public class HomeController : Controller
{
    var request = new HttpRequestMessage();
    ... // Create request info
    var response = client.SendAsync(request);

0 个答案:

没有答案