[RequireHttps]
如果用户尝试通过 HTTP 访问应用程序,则在 ASP.NET MVC 应用程序中使用该端口会导致重定向到端口 443 上的 HTTPS。
但是,在 IIS Express 中,应用程序可能不会在端口 443 上运行。相反,它将在端口 44301 上运行。
我发现了各种技巧,用于替换RequireHttpsAttribute
将替代端口号作为参数的实现,或者从Web.config
.
这很笨拙,因为它需要在多个地方进行配置。
有没有办法以一种通用的方式——以编程方式——做到这一点?
在不试图抢占答案的情况下,我想到了一些选择:
- 有什么方法可以发现托管我的应用程序的 IIS 或 IIS Express 实例正在使用的绑定?
- 有什么方法可以读取
applicationHost.config
当前的 IIS / IIS Express 主机吗?