gpt4 book ai didi

c# - 获取网站的 URL

转载 作者:太空宇宙 更新时间:2023-11-03 10:37:38 25 4
gpt4 key购买 nike

我正在开发一个 asp.net 网络表单应用程序,我在其中创建了一个链接并通过电子邮件将其发送给用户以重置其密码。

唯一的问题是,当为网络外部的用户创建链接时,链接显示服务器的名称和端口号,而不是他们用来访问它的网站名称。

例如,如果我访问 https://testsite.com 然后生成电子邮件,链接显示为https://testserver:1111

我希望电子邮件中的链接是:https://testsite.com/reset?key=value

这是我创建链接的代码

HttpContext.Current.Request.Url.Scheme + "://" 
+ HttpContext.Current.Request.Url.Authority
+ HttpContext.Current.Request.ApplicationPath.TrimEnd('/')
+ "/PasswordReset.aspx;

如何获取显示网站名称而不是服务器名称的代码?

这可能是网络服务器的问题(我使用的是 IIS)?

最佳答案

您可以使用 appSettings 或仅使用 HttpContext.Current.Request["HTTP_HOST"]

<appSettings>
<add key="DOMAIN" value="www.mysite.com"/>
</appSettings>

正义的

string domain = HttpContext.Current.Request["HTTP_HOST"];
string myUrl = "";

if(HttpContext.Current.Request.IsSecureConnection)
myUrl = string.Format("https://{0}/passwordreset.aspx?key={1}",domain,yourvalue);
else
myUrl = string.Format("http://{0}/passwordreset.aspx?key={1}",domain,yourvalue);

// do something with your myUrl.

关于c# - 获取网站的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27026108/

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