c# - 如何在 asp.net 中获取链接的 http 类型(http 或 https)的完整域?

标签 c# asp.net

我的 asp.net 应用程序将分发给不同的用户。它应该自动检索链接的域和 http 类型。

例如:

  1. http://abc.com/test.aspx
  2. https://abc.com/test2.aspx

我需要一种方法来检索:http://abc.comhttps://abc.com自动从这些链接。

我该怎么做?

提前致谢。

最佳答案

您可以从您的完整 url 构建一个 Uri 并构建您的新 url。

public string GetRootUrl(string url)
{
   Uri uri = new Uri(str);
   return string.Format("{0}://{1}", uri.Scheme, uri.Authority);
}

但是,您可以使用 uri.Host,但在任何部署的情况下,您将在 http://abc.com:8087 这样的端口上托管您的应用程序 然后 uri.Host 将只返回 abc.comuri.Authority 将返回 abc.com:8087。默认端口 80 将被 uri.Authority 忽略并像 uri.Host 一样工作。

关于c# - 如何在 asp.net 中获取链接的 http 类型(http 或 https)的完整域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8464136/

相关文章:

c# - Web.config 设置无法接受超过 1 GB 的文件大小

javascript - CustomValidator 不显示来自 javascript 的错误消息

c# - 在 asp.net 中获取 BIOS 日期

c# - 如何更改 #region 后面的 "name"变量的颜色

c# - 在 MonoDevelop 和 GTKSharp 中使用小部件

c# - 通过 C# 代码隐藏打开 CSS 弹出窗口

c# - 对话框无法通过 .Show 正确显示,但又不想在 C# 中进行多线程处理时阻塞 .ShowDialog

C# COM 互操作库

asp.net - 是否有与 Tomcat 等效的 IIS?

javascript - Ajax/Jquery 每 'interval' 秒调用一次 webmethod/service