【发布时间】:2015-07-24 18:26:07
【问题描述】:
我发现了一个blog post,它展示了如何将 HttpResponseMessage 等熟悉的东西“填充”回 ASP.NET Core MVC,但我想知道在 REST 中执行与以下代码相同的操作的新本地方法是什么控制器中的发布方法:
// 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。
我尝试检查请求,并且能够创建这样的函数:
private string UriStr(HttpRequest Request)
{
return Request.Scheme + "://" + Request.Host + Request.Path; // Request.Path has leading /
}
所以我可以改写UriStr(Request)。但我不确定这是否正确。我觉得我在乱用,并且没有正确使用它。
早期非核心 ASP.NET MVC 版本的related question 询问如何获取站点的基本 url。
【问题讨论】:
标签: c# asp.net asp.net-core-mvc