获取对本地运行的 ASP.NET 应用的请求的端口

本文关键字:应用 请求 NET ASP 运行 获取 | 更新日期: 2023-09-27 17:55:08

这完全是为了在本地运行时调试 ASP.NET Web 角色。 我有一个 MVC 5 ASP.NET 应用程序,它从其中一个控制器方法返回链接。 该链接从数据库中请求特定项。 例如:

(没有HTTP协议前缀的链接,所以SO不会抱怨)

*localhost/Customers/GetCustomer/3*

这会从数据库中获取客户 #。 问题是,当我在本地计算机上设计 Web 角色时运行 IIS Express 时,链接无效,然后再将其发布到服务器。 由于 IIS Express 侦听特定端口,因此链接需要端口号可供调用 Web Role 方法的本地网站使用。 它应该是:

*localhost:3876/Customers/GetCustomer/3*

有没有办法从我的 ASP.NET 控制器确定该端口,该端口在链路上提供服务器? 也许是控制器请求属性中的某些内容? 否则,我会被一个条件编译符号所困,我想避免这种情况,因为这样我就会担心在发布之前将其设置回生产值。

获取对本地运行的 ASP.NET 应用的请求的端口

根据这个答案,您可以使用以下内容:

int port = Request.Url.Port

Request.Url 返回一个具有 Port 属性的 Uri 对象。