3

ASP.NET MVC アプリケーションでポートを使用[RequireHttps]すると、ユーザーが HTTP 経由でアプリケーションにアクセスしようとすると、ポート 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」

IIS Express の applicationhost.config ファイルは、%userprofile%\documents\iisexpress\config フォルダーにあります。

于 2013-07-26T17:58:31.117 に答える