【发布时间】:2016-12-15 01:52:26
【问题描述】:
我正在使用 Url.Action 生成一个绝对 URL 以在电子邮件中发送。链接在控制器内部生成。
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 协议:
http:///account/confirm-email?userId=10&code=CfDJ8JH5BJKUsPZDnCLwFc3HSEHfe9Fk00NHiJqk36VbvkDbbV39AI7HY5m9pXVItwYE9%2B9ElTcnBSZiDNQ%2FmO5lx1tSnuvDmhzdzGlCQCfPQVe%2B21Nw03uNuBWoO8HCVivqzfudti579bWiaLW6PuuQQimn449YymVjgV3R36HeQID26jTmAxizDTqOsF1%2FvQc5Zw%3D%3D
我正在使用带有"Microsoft.AspNetCore.Mvc": "1.1.0" 的 ASP .NET Core。
应用程序发布到 IIS。
【问题讨论】:
-
你试过不指定协议吗?
-
@ColinM 还是同样的问题:
http:///account/confirm-email?userId=8&code=... -
Url.Action是否在其他任何地方(在视图或代码中)返回完整的 URL? -
@ColinM 它适用于视图,而不是控制器。我还尝试了非开发环境,并且正确发送了 Url。 :\
标签: c# asp.net-core asp.net-core-mvc sendgrid