Я нашел сообщение в блоге, в котором показано, как "подгонять" знакомые вещи, такие как HttpResponseMessage, обратно в ASP.NET Core MVC, но я хочу знать, что новый родной способ сделать то же самое, что и следующий код в методе REST Post в контроллере:
// 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;
}
В проекте ASP.NET Core MVC я не могу получить Request.RequestUri.
Я попытался проверить Request, и я смог сделать такую функцию:
private string UriStr(HttpRequest Request)
{
return Request.Scheme + "://" + Request.Host + Request.Path; // Request.Path has leading /
}
Итак, я мог бы написать UriStr(Request)
. Но я не уверен, что так. Я чувствую, что я взламываю свой путь и не использую это правильно.
A связанный вопрос для ранних неосновных версий ASP.NET MVC запрашивает, как получить базовый URL-адрес сайта.