首页 > 解决方案 > C# MVC 从服务器端获取与浏览器中完全相同的 URL 字符串

问题描述

我知道这很容易以多种方式获取 URL,但是在通过 DNS 查询网站时遇到意外问题,该网站重定向到非默认端口。

有一个 Web 应用程序在端口 7000 上工作,可通过服务器名称或 dns 访问:

  1. http://MyServer:7000
  2. http://MyApp.intranet.net(将 MyServer 映射到端口 7000)

这就是用户在浏览器中看到它们的方式。那么现在,如何获得与浏览器中完全相同的 URL 链接。

HttpContext.Current.Request.Url.AbsoluteUri分别返回:

  1. http://MyServer:7000
  2. http://MyApp.intranet.net:7000添加了端口,这个地址不存在!!!

HttpContext.Current.Request.Url.OriginalString

  1. http://MyServer:7000
  2. http://MyApp.intranet.net:7000(同上)

HttpContext.Current.Request.Url.Authority

  1. 我的服务器:7000
  2. MyApp.intranet.net:7000(同上)

HttpContext.Current.Request.Url.Host

  1. MyServer(无端口信息,返回错误)
  2. MyApp.intranet.net(没关系)

正如浏览器用户所拥有的那样,我没有找到任何可以正确返回两个地址的属性。

而且我不想硬编码任何东西或从客户端发送它。

感谢您的任何建议。

标签: c#urlmodel-view-controller

解决方案


推荐阅读