gpt4 book ai didi

c# - Request.Url.IsDefaultPort 是如何确定的?

转载 作者:可可西里 更新时间:2023-11-01 16:37:39 27 4
gpt4 key购买 nike

我希望这是一个简单的问题,但我似乎无法全神贯注。很明白这行代码是怎么确定的:

Request.Url.IsDefaultPort

通常情况下是这样的:

Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port

我的问题涉及更多内容:

  1. 如果我的网址是:http://www.mysitename.com,这是否成立? IIS 为此使用端口 80
  2. 如果我的网址是:http://www.mysitename.com:12345,这是否成立? IIS 为此使用端口 12345
  3. 这等同于说:Request.Url.Port == 80 吗? "": ":"+ Request.Url.Port?

我确实检查了 Microsoft 的 MSDN article这往往是一点帮助都没有。以下是关于如何确定此属性的引述:“如果 Port 属性中的值是此方案的默认端口,则为 true 的 bool 值;否则为 false。”不幸的是,我不知道他们所说的“计划”这个词是什么意思。

预先感谢您的帮助。

最佳答案

如果端口是方案 的默认端口,则为true。例如,HTTP 作为方案 (http:) 使用端口 80。HTTPS 作为方案 (https:) 使用端口 443。

Uri.IsDefaultPort 属性仅检查端口值是否等于方案的默认值,而不是 IIS 中的绑定(bind)。

  1. 是的,对于 http://www.mysitename.com 也是如此, 在端口 80 上
  2. 不,http://www.mysitename.com:12345 为假在端口 12345 上
  3. 不完全是,您的示例是正确的,如果您使用 http 方案检查 URI:Request.Url.Port == 80//这对于 HTTPS 是错误的,因为示例。

您可以使用 Uri.Scheme 属性检查架构(Request.UrlUri 的实例)。

关于c# - Request.Url.IsDefaultPort 是如何确定的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28047632/

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