从 asp.net core 3.1 应用程序中的控制器,我需要创建一个链接,这将导致类似这样的事情
<块引用>https://myhost/mycontroller/myaction/itemId。
此链接旨在包含在应用程序在必要时自动发送的电子邮件消息中。电子邮件的收件人旨在单击链接并登陆我的应用程序中的 url。如果应用程序在本地主机上运行,我希望链接类似于 https://locahost:1234//mycontroller/myaction/itemId,当它在远程 Web 服务器上时,我希望链接是 https::/ /theapplications/mycontroller/myaction/itemId
我做到了
Url.Action("myaction",new { sr.Id })
并意识到当我在电子邮件中使用它时,从电子邮件中,它没有指向 https://myhost/mycontroller/myaction/itemId
而是指向“http://theemailhostaddress/myaction/itemid”
请问我如何从我的控制器中实现这一点
谢谢。
答案 0 :(得分:0)
你应该试试
string link = Request.Url.Scheme + "://" + Request.Url.Authority + Url.Action("myaction", "mycontroller", new { itemId = sr.Id});