首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带协议的Url.Action正在返回无域的链接

带协议的Url.Action正在返回无域的链接
EN

Stack Overflow用户
提问于 2016-12-15 09:52:27
回答 2查看 2.8K关注 0票数 8

我正在使用Url.Action生成一个绝对网址,以便在电子邮件中发送。链接是在控制器内部生成的。

代码语言:javascript
复制
ConfirmLink = Url.Action(
    "ConfirmEmail",
    "Account",
    new { userId = user.Id, code },
    HttpContext.Request.Scheme
)

出于某种原因,在本地,我得到了这样的结果:

代码语言:javascript
复制
http://localhost:5102/account/confirm-email?userId=10&code=CfDJ8JH5BJKUsPZDnCLwFc3HSEHfe9Fk00NHiJqk36VbvkDbbV39AI7HY5m9pXVItwYE9%2B9ElTcnBSZiDNQ%2FmO5lx1tSnuvDmhzdzGlCQCfPQVe%2B21Nw03uNuBWoO8HCVivqzfudti579bWiaLW6PuuQQimn449YymVjgV3R36HeQID26jTmAxizDTqOsF1%2FvQc5Zw%3D%3D

但是我在staging/prod中得到了这个结果,没有使用domain/https协议:

代码语言:javascript
复制
http:///account/confirm-email?userId=10&code=CfDJ8JH5BJKUsPZDnCLwFc3HSEHfe9Fk00NHiJqk36VbvkDbbV39AI7HY5m9pXVItwYE9%2B9ElTcnBSZiDNQ%2FmO5lx1tSnuvDmhzdzGlCQCfPQVe%2B21Nw03uNuBWoO8HCVivqzfudti579bWiaLW6PuuQQimn449YymVjgV3R36HeQID26jTmAxizDTqOsF1%2FvQc5Zw%3D%3D

我正在使用带有"Microsoft.AspNetCore.Mvc": "1.1.0"的ASP .NET核心。

发布到IIS的应用程序。

EN

回答 2

Stack Overflow用户

发布于 2017-07-28 11:29:40

我以前也遇到过同样的问题,下面的代码对我来说很好。

代码语言:javascript
复制
var ConfirmLink = Url.Action(
    "ConfirmEmail",
    "Account",
    new { userId = user.Id, code },
    HttpContext.Request.Scheme,
    HttpContext.Request.Host.Value //HttpContext.Request.Host.ToString()
)

或手动

代码语言:javascript
复制
var ConfirmLink = $"{HttpContext.Request.Scheme}://{HttpContext.Request.Host}{Url.Action("ConfirmEmail", "Account")}";
票数 2
EN

Stack Overflow用户

发布于 2016-12-16 12:41:47

尝试添加主机参数:

代码语言:javascript
复制
ConfirmLink = Url.Action(
    "ConfirmEmail",
    "Account",
    new { userId = user.Id, code },
    HttpContext.Request.Scheme,
    HttpContext.Request.Host.Host
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41155149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档