Qu'est-ce que l'ASP.NET Core, MVC, l'équivalent de la Demande.RequestURI?

J'ai trouvé un post de blog qui montre comment "shim" des choses familières comme HttpResponseMessage de retour dans ASP.NET Core, MVC, mais je veux savoir quel est le natif de façon à faire la même chose que le code suivant dans une méthode Post dans un Contrôleur:

//POST audit/values
[HttpPost]
public System.Net.Http.HttpResponseMessage Post([FromBody]string value)
{
    var NewEntity = _repository.InsertFromString(value);

    var msg = new System.Net.Http.HttpResponseMessage(System.Net.HttpStatusCode.Created);
    msg.Headers.Location = new Uri(Request.RequestUri + NewEntity.ID.ToString());
    return msg;

}

Dans un ASP.NET Core projet MVC, je n'arrive pas à obtenir la Demande.RequestUri.

J'ai essayé de l'inspection de la Demande, et j'ai pu faire une fonction comme ceci:

private string UriStr(HttpRequest Request)
{
    return Request.Scheme + "://" + Request.Host + Request.Path; //Request.Path has leading /
}

Donc je pourrais écrire UriStr(Request) à la place. Mais je ne suis pas sûr que c'est un droit. Je me sens comme je suis le piratage de mon chemin, et ne l'utilisez pas correctement.

Un une question relative à la pour la version non-Core ASP.NET MVC versions demande comment faire pour obtenir l'url de base du site.

OriginalL'auteur Warren P | 2015-07-24