c# - Request.Url.AbsoluteUri 在 asp.net core 2.0 中不起作用(使用 System.Web)

标签 c# asp.net asp.net-mvc asp.net-core asp.net-core-2.0

拜托,我正在尝试使用 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/

相关文章:

c# - 从 C# 中的原始 TCP 流获取 unicode 字符串

c# - 通过 TemplateSelector 在 DataTemplate 中进行双向数据绑定(bind)

c# - dotnet publish 不包含在构建后事件期间生成的文件

asp.net - 必填字段验证器未触发

javascript - 通过表单提交 JSON 通过 jquery 提交

asp.net-mvc - Knockoutjs 按钮点击

c# - 我可以处理aspx中的英国错误吗?

asp.net - 什么是 ASP.NET vNext?

c# - MVC : Add output cache for all actions

c# - 使用 DynamicObject 模拟 DependencyProperties