我有一个我希望是一个简单的问题,我似乎无法解决这个问题。很明显,这行代码是如何确定的:
Request.Url.IsDefaultPort
通常会出现这样的情况:
Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port
我的问题涉及更多内容:
我确实检查了微软的MSDN article,因为它往往不太有用。以下是关于如何确定此属性的引用:"布尔值,如果Port属性中的值是此方案的默认端口,则该值为true;否则,错误。"不幸的是,我不知道“' scheme'”这个词是什么意思。
提前感谢您的帮助。
答案 0 :(得分:1)
如果端口是方案的默认端口,则为true
。例如,HTTP作为方案(http:
)使用端口80. HTTPS作为方案(https:
)使用端口443。
Uri.IsDefaultPort
属性仅检查端口值是否等于方案的默认值,而不是IIS中的绑定。
http
方案检查URI,那么您的示例是正确的:Request.Url.Port == 80 // this is false for HTTPS, as an example.
您可以使用Uri.Scheme
属性检查sheme(Request.Url
是Uri
的实例)。