Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#MVC从服务器端获取与浏览器中完全相同的URL字符串_C#_Url_Model View Controller - Fatal编程技术网

C#MVC从服务器端获取与浏览器中完全相同的URL字符串

C#MVC从服务器端获取与浏览器中完全相同的URL字符串,c#,url,model-view-controller,C#,Url,Model View Controller,我知道这在很多方面都很容易获得URL,但我在通过DNS查询网站时遇到了意想不到的问题,DNS会重定向到非默认端口 有一个web应用正在端口7000上工作,可通过服务器名称或dns访问: http://MyServer:7000 (映射端口7000上的MyServer) 这是用户在浏览器中看到它们的方式。 那么现在,如何获得与浏览器中完全相同的URL链接 HttpContext.Current.Request.Url.AbsoluteUri分别返回: http://MyServer:7000 (端

我知道这在很多方面都很容易获得URL,但我在通过DNS查询网站时遇到了意想不到的问题,DNS会重定向到非默认端口

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

  • http://MyServer:7000
  • (映射端口7000上的MyServer)
  • 这是用户在浏览器中看到它们的方式。 那么现在,如何获得与浏览器中完全相同的URL链接

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

  • http://MyServer:7000
  • 端口已添加,此地址不存在!!!
  • HttpContext.Current.Request.Url.OriginalString

  • http://MyServer:7000
  • (同上)
  • HttpContext.Current.Request.Url.Authority

  • 我的服务器:7000
  • MyApp.intranet.net:7000(同上)
  • HttpContext.Current.Request.Url.Host

  • MyServer(无端口信息,返回错误)
  • MyApp.intranet.net(很好)
  • 正如浏览器用户所做的那样,我没有找到任何能够正确返回两个地址的属性

    我不想硬编码任何东西,也不想从客户端发送


    感谢您的建议。

    关于
    HttpContext.Current.Request.RawUrl的情况如何
    ?HttpContext.Current.Request.RawUrl仅运行不带服务器名称和端口的路径,例如,对于RawUrl=“/account/test”右侧。如果它不是ajax请求,那么我想唯一的方法就是从
    HttpContext.current.request.URL
    获取当前URL,否则如果它是ajax调用,那么您可以使用JS获取URL并添加到标题中。
    HttpContext.current.request.URL
    的结果与
    绝对URI
    相同。这是由Html.ActionLink调用的。我可以添加window.location作为参数,但我真的很惊讶,只有服务器端没有解决方案。谢谢