有没有简单的方法进go .NET快速获取当前协议、主机和端口?例如,如果我在以下URL上:

http://www.mywebsite.com:80/pages/page1.aspx

我需要返回:

http://www.mywebsite.com:80

我知道我可以使用Request.Url.AbsoluteUri来获取完整的URL,我知道我可以使用Request.Url.Authority来获取主机和端口,但我不确定在不解析URL字符串的情况下获取协议的最佳方法.

有什么建议吗?

推荐答案

下面的(C#)代码应该可以做到这一点

Uri uri = new Uri("http://www.mywebsite.com:80/pages/page1.aspx");
string requested = uri.Scheme + Uri.SchemeDelimiter + uri.Host + ":" + uri.Port;

Asp.net相关问答推荐

内容根路径在 .NET 6 中如何工作?

ASP.NET - 在屏幕底部显示应用程序构建日期/信息

IIS 中的嵌套 ASP.NET应用程序继承父配置值?

如何在 GridView 单元格中的(即
)中呈现解码的 HTML

Dotnet core 2.0 身份验证多模式身份 cookie 和 jwt

在构建时自动停止/重新启动 ASP.NET 开发服务器

解析 JSON 响应的最简单方法

如何在 ASP.NET core rc2 中禁用浏览器缓存?

System.Linq.Dynamic 不支持 OrderByDescending("someColumn")?

IIS 7.5 上没有 asp.net 功能

如何在新实现的接口或基类之间做出决定?

在 Android/Java 和 C# 中计算 SHA256 哈希

如何在 ASP.NET 中获取原始请求正文?

禁用 web.config 继承?

.NET - c# - 需要跨分区查询,但在 DocumentDB 数据访问上禁用了问题

ASP.NET web.config:system.web.compilation 中的 debug 属性的默认值是什么?

Windows Azure PaaS(网络角色)的真正替代品?

获取 POST 变量

ASP.NET 网格视图与列表视图

SignalR 2.0 错误:无法加载文件或程序集 Microsoft.Owin.Security