C# 如何确定Request.Url.IsDefaultPort?

C# 如何确定Request.Url.IsDefaultPort?,c#,http,iis,C#,Http,Iis,我有一个简单的问题,我希望这是一个我似乎无法理解的问题。很明显,这行代码是如何确定的: Request.Url.IsDefaultPort 通常是这样的: Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port 我的问题还涉及到几件事: 如果我的url为且IIS正在为此使用端口80,则这是否为真 如果我的url为且IIS正在为此使用端口12345,这是否为真 这是否等于说:Request.Url.Port==80?“:”:“+Reque

我有一个简单的问题,我希望这是一个我似乎无法理解的问题。很明显,这行代码是如何确定的:

Request.Url.IsDefaultPort
通常是这样的:

Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port
我的问题还涉及到几件事:

  • 如果我的url为且IIS正在为此使用端口80,则这是否为真
  • 如果我的url为且IIS正在为此使用端口12345,这是否为真
  • 这是否等于说:Request.Url.Port==80?“:”:“+Request.Url.Port
  • 我确实检查了微软的,因为它往往是,有点没有帮助。这里引用了一段关于如何确定此属性的话:“如果端口属性中的值是此方案的默认端口,则布尔值为true;否则为false。”不幸的是,我不知道“scheme”一词的含义


    提前感谢您的帮助。

    如果端口是方案的默认端口,则这是
    正确的
    。e、 例如,HTTP作为一种方案(
    HTTP:
    )使用端口80。HTTPS作为一种方案(
    HTTPS:
    )使用端口443

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

  • 是的,在端口80上,这将适用于
  • 不,端口12345上的将为false
  • 不完全正确,您的示例是正确的,如果您使用
    http
    方案检查URI:
    Request.Url.Port==80//例如,对于HTTPS,这是错误的。

  • 您可以使用
    Uri.Scheme
    属性检查sheme(
    Request.Url
    Uri
    的一个实例)。

    啊,谢谢。这是我的怀疑,我没有把这个计划放在一起,谢谢你帮我澄清。