首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >URL :如何可靠地获取当前请求的真实ASP.NET?

问URL :如何可靠地获取当前请求的真实ASP.NET?
EN

Stack Overflow用户
提问于 2012-03-27 20:49:29
回答 3查看 3.3K关注 0票数 3

现在,我有一个运行在http://127.0.0.1:8081/上的MVC应用程序(它实际上是在Azure计算模拟器中运行的)。浏览器位置栏清楚地显示端口号为8081。

然而,Request.Url和Request.RawUrl都给了我http://127.0.0.1:8082/。

我需要发送一封包含URL的电子邮件,因此我需要正确的主机名和端口号。我如何才能可靠地获得真实的URL,而不会出现这种意外的偏差?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-27 20:52:29

您可以使用Request.Headers["Host"];,它将为您提供带有正确端口号的主机名(或IP)。然后,您可以重新构建URL。

票数 4
EN

Stack Overflow用户

发布于 2014-05-27 23:08:43

您还可以使用:

代码语言:javascript
复制
Request.Url.Host

或者使用(如果您想要所有的首字母,而不仅仅是主机):

代码语言:javascript
复制
public ActionResult Index()
{
string Domain = Request.Url.Scheme + System.Uri.SchemeDelimiter + Request.Url.Host +       (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port);
return View(Domain);
}

这是取自“丰富的代码”。

How to Retrieve the Current Domain in ASP.NET MVC?

票数 3
EN

Stack Overflow用户

发布于 2012-04-02 12:45:03

在作为Azure的云中,您的进程可以在任何具有任何端口号的地方运行。当前请求将被路由到进程。

这就是为什么你总是有不同的端口号。

最好在web.config文件中指定您的域名;如果您从配置文件中读取,则所有请求的域名将始终相同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9889827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档