gpt4 book ai didi

c# - 什么是 ASP.NET Core MVC 等同于 Request.RequestURI?

转载 作者:IT王子 更新时间:2023-10-29 04:10:23 26 4
gpt4 key购买 nike

我找到了一个 blog post这显示了如何将 HttpResponseMessage 等熟悉的东西“填充”回 ASP.NET Core MVC,但我想知道在 Controller 的 REST Post 方法中执行与以下代码相同的事情的新 native 方法是什么:

// 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 related question对于早期的非核心 ASP.NET MVC 版本,询问如何获取站点的基本 url。

最佳答案

就我个人而言,我使用:

new Uri(request.GetDisplayUrl())
  • GetDisplayUrl 完全未转义的形式(QueryString 除外)
  • GetEncodedUrl - 适用于 HTTP header 的完全转义形式

这些是来自以下命名空间的扩展方法:Microsoft.AspNetCore.Http.Extensions

关于c# - 什么是 ASP.NET Core MVC 等同于 Request.RequestURI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31617345/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com