gpt4 book ai didi

c# - Request.Url.Host 与 Request.Url.Authority

转载 作者:可可西里 更新时间:2023-11-01 03:00:13 24 4
gpt4 key购买 nike

我继承了一个用 C# 编写的 ASP.NET Web 应用程序。在整个站点的许多页面中,使用以下方法检索主机名:

BaseHost = Request.Url.Host;

因为我使用的是 Visual Studio 2012 Express 并且它安装在本地 IIS Express 服务器上,所以当我在本地调试/运行时,我似乎被附加到主机名 (localhost) 的端口号卡住了。上面的代码不会导致包含端口号,因此会中断代码生成的链接(菜单项链接、重定向等)。

我看到我可以通过将代码更改为来解决这个问题:

BaseHost = Request.Url.Authority;

当我在本地运行时 (localhost:4652) 和发布到我的登台服务器 (development.mysite.com) 时,这似乎通过包含端口来修复它。

我的问题:这种形式不好吗?是否有时间或情况会导致我的实时站点出现问题?快速替换所有这些实例似乎要容易得多。我考虑过编写一个小例程来附加 : with Request.Url.Port,但使用 Request.Url.Authority 似乎更容易。也许太容易了……

我已尝试在线和在 MSDN 上研究我的问题,但没有看到答案。

最佳答案

根据 MSDN Authority 包括端口号,而 Host 不包括。另一个方面是 Authority 将在需要时转义保留字符。

在不了解您的应用程序的情况下,很难说这是否是一个好主意,但总的来说,我怀疑它不会破坏任何东西……所以继续吧……

另一种选择是运行应用程序 IIS 而不是 IIS Express...

关于c# - Request.Url.Host 与 Request.Url.Authority,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18303334/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com