【发布时间】:2015-01-17 12:25:59
【问题描述】:
我正在开发一个 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)吗?
【问题讨论】:
-
您的域是在 DNS 中定义的,您的应用无法轻松访问该域。如果您通过回发或其他方式通过直接用户操作发送电子邮件,您可能能够从请求中的引荐来源获得网址。