繁体   English   中英

ASP.Net获取域名不是localhost?

[英]ASP.Net get the domain name not the localhost?

我正在尝试编写一种方法,该方法将向客户端发送一封电子邮件,该客户端具有一个下载链接,用户可以单击该链接直接下载。

实际上,我将其模拟为Global中一个持续运行的进程,该进程一直将文件发送到ftp服务器,如果发送错误,则会向管理员发送链接,以便他可以直接下载文件。

我的问题是如何获取外部链接,例如,我想拥有http://www.abc.com/temp/file.txt 我想要一个通用的解决方案,以便无论我也更改服务器的域,代码仍然可以工作吗?

谢谢

从技术上讲,ASP.NET并不“知道”输入域是什么。 它只关心应用程序 ,这些应用程序通常与用户进入的权限正交。 在请求线程的上下文中,它知道用户可能要求的域,仅此而已。

您可以通过使用Control.ResolveUrl("~/path_to_file");获得服务器相对路径Control.ResolveUrl("~/path_to_file"); -从那里开始,您将需要一些配置驱动的方法来确定域应该是什么。

我不确定我是否完全理解问题,但是在IIS 7上,可以使用Microsoft.Web.Administration程序集获取为某些站点定义的域(IIS绑定)。

ServerManager sman = new ServerManager();     
foreach (Site iisSite in sman.Sites)
{
  foreach (Binding bind in iisSite.Bindings)
  {
    // bind.Host - here is the site domain
  }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM