繁体   English   中英

Request.Url.AbsoluteUri在ASP.NET Core 2.0中不起作用(使用System.Web)

[英]Request.Url.AbsoluteUri not working in asp.net core 2.0 (Using System.Web)

请尝试使用asp.net core 2.0中的Request.Url.AbsoluteUri获取我的域URL,但“ Request”不在System.Web命名空间中。 这是实现这一目标的流行方法。 请在ASP.NET core 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变量将可用。 如果发现没有Request变量,则可以尝试HttpContext.Request 如果在视图内部执行此操作,则需要ViewContext.HttpContext.Request

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM