ngrokを利用すると、ローカルで実行しているASP.NETアプリケーションにグローバルアドレスでアクセスすることができて便利です。
Teamsアプリ開発でもサーバー側の動作確認をするのにいちいちサーバーに上げていては色々と面倒。
ということで、ローカルのIIS Express上で動作しているサーバーでデバッグするわけですが、多少戸惑う点があります。
ASP.NETアプリケーションをデバッグする際にアクセスするアドレスを見ると、ブラウザに表示されているURLは44340ポートを指定しているとします。
ngrokでトンネルするポートはこの番号ではなくて、プロジェクトのプロパティから確認できる値です。
プロジェクトのプロパティの「デバッグ」タブのアプリURLに記載されている値を指定します。この画像の場合は59189ですね。
IIS Expressはlocalhost以外の接続をはじく(デフォルトの設定では)のでngrokの設定は
♯ngrok http 59189 -host-header=localhost:59189
というふうに、-host-headerを記載します。
ふだん、ASP.NETをバリバリ開発している人には常識なのだろうか?