3

[RequireHttps]如果用户尝试通过 HTTP 访问应用程序,则在 ASP.NET MVC 应用程序中使用该端口会导致重定向到端口 443 上的 HTTPS。

但是,在 IIS Express 中,应用程序可能不会在端口 443 上运行。相反,它将在端口 44301 上运行。

我发现了各种技巧,用于替换RequireHttpsAttribute将替代端口号作为参数的实现,或者从Web.config.

这很笨拙,因为它需要在多个地方进行配置。

有没有办法以一种通用的方式——以编程方式——做到这一点?

在不试图抢占答案的情况下,我想到了一些选择:

  1. 有什么方法可以发现托管我的应用程序的 IIS 或 IIS Express 实例正在使用的绑定?
  2. 有什么方法可以读取applicationHost.config当前的 IIS / IIS Express 主机吗?
4

1 回答 1

0

您可以通过运行以下命令检查当前使用的绑定(IIS/IIS Express)

“netsh http show servicestate view=requestq”

您可以在 %userprofile%\documents\iisexpress\config 文件夹中找到 IIS Express 的 applicationhost.config 文件。

于 2013-07-26T17:58:31.117 回答