拜托,我正在尝试使用 asp.net core 2.0 中的 Request.Url.AbsoluteUri 获取我的域 url,但“请求”不在 System.Web 命名空间中。这是实现这一目标的流行方式。请在 ASP.NET 核心 2.0 中有所不同。请帮忙。 下面是代码行
var verifyUrl = "/user/VerifyAccount/" + activationCode;
var link = Request.Url.AbsoluteUri.Replace(Request.Url.PathAndQuery, verifyUrl);
通常“链接”应该给我“http://myDomainName/user/VerifyAccount/276ye6tfhsgt63t6e” 但是 System.Web.Request 不工作
最佳答案
HttpRequest
对象在 ASP.NET Core 中是不同的。它不再包含 Url
属性。您需要手动构建 URI:
var uriBuilder = new UriBuilder
{
Scheme = Request.Scheme,
Host = Request.Host.ToString(),
Path = $"/user/VerifyAccount/{activationCode}"
};
var link = uriBuilder.Uri.AbsoluteUri;
Request
变量将默认在您的 Controller 等中可用。如果发现没有Request
变量,可以试试HttpContext.Request
。如果您在 View 内执行此操作,则需要 ViewContext.HttpContext.Request
。
关于c# - Request.Url.AbsoluteUri 在 asp.net core 2.0 中不起作用(使用 System.Web),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53599375/