Was entspricht ASP.NET Core MVC Request.RequestURI?

Ich habe einen ... gefundenBlogeintra Das zeigt, wie Sie vertraute Elemente wie HttpResponseMessage wieder in ASP.NET Core MVC "shimen". Ich möchte jedoch wissen, wie Sie auf die neue native Art und Weise dasselbe tun wie den folgenden Code in einer REST-Post-Methode in einem Controller:

// 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;

}

In einem ASP.NET Core MVC-Projekt kann ich scheinbar nicht Request.RequestUri abrufen.

Ich habe versucht, Request zu inspizieren, und ich konnte eine Funktion wie die folgende erstellen:

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

So könnte ich @ schreibUriStr(Request) stattdessen. Aber ich bin mir nicht sicher, ob das stimmt. Ich habe das Gefühl, dass ich mich herumhacke und das nicht richtig benutze.

A Verwandte Frage Bei früheren Nicht-Core-ASP.NET-MVC-Versionen wird gefragt, wie die Basis-URL der Site abgerufen werden soll.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage