gpt4 book ai didi

c# - 带有协议(protocol)的 Url.Action 返回没有域的链接

转载 作者:太空狗 更新时间:2023-10-29 19:46:32 25 4
gpt4 key购买 nike

我正在使用 Url.Action 生成一个绝对 URL 以在电子邮件中发送。该链接在 Controller 内生成。

ConfirmLink = Url.Action(
"ConfirmEmail",
"Account",
new { userId = user.Id, code },
HttpContext.Request.Scheme
)

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

http://localhost:5102/account/confirm-email?userId=10&code=CfDJ8JH5BJKUsPZDnCLwFc3HSEHfe9Fk00NHiJqk36VbvkDbbV39AI7HY5m9pXVItwYE9%2B9ElTcnBSZiDNQ%2FmO5lx1tSnuvDmhzdzGlCQCfPQVe%2B21Nw03uNuBWoO8HCVivqzfudti579bWiaLW6PuuQQimn449YymVjgV3R36HeQID26jTmAxizDTqOsF1%2FvQc5Zw%3D%3D

但我在 staging/prod 中得到了这个结果,没有域/https 协议(protocol):

http:///account/confirm-email?userId=10&code=CfDJ8JH5BJKUsPZDnCLwFc3HSEHfe9Fk00NHiJqk36VbvkDbbV39AI7HY5m9pXVItwYE9%2B9ElTcnBSZiDNQ%2FmO5lx1tSnuvDmhzdzGlCQCfPQVe%2B21Nw03uNuBWoO8HCVivqzfudti579bWiaLW6PuuQQimn449YymVjgV3R36HeQID26jTmAxizDTqOsF1%2FvQc5Zw%3D%3D

我正在使用 ASP .NET Core 和 "Microsoft.AspNetCore.Mvc": "1.1.0"

应用程序发布到 IIS。

最佳答案

我以前也遇到过同样的问题,下面的代码对我来说工作正常。

var ConfirmLink = Url.Action(
"ConfirmEmail",
"Account",
new { userId = user.Id, code },
HttpContext.Request.Scheme,
HttpContext.Request.Host.Value //HttpContext.Request.Host.ToString()
)

或手动

var ConfirmLink = $"{HttpContext.Request.Scheme}://{HttpContext.Request.Host}{Url.Action("ConfirmEmail", "Account")}";

关于c# - 带有协议(protocol)的 Url.Action 返回没有域的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41155149/

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