2 つの ASP.NET Web アプリケーション、1 つの MVC アプリケーション、および 1 つの Web API を使用して新しいソリューションを作成しました。
サブドメインを使用して API にアクセスしたかったので、すべての Api ルートでapi.hybridwebapp.com/values
確実に IHttpRouteConstraint を実装しました。この回答の詳細。request.RequestUri.Host == "api.mydomain.com"
次に、ホスト ファイルに次の行を追加しました。
127.0.0.1 hybridwebapp.com api.hybridwebapp.com
IIS マネージャーで 2 つの Web サイト (プロジェクトごとに 1 つ) を作成し、各 Web サイトに適切なバインディングを設定しました (80 の hybridwebapp.com と 80 の api.hybridwebapp.com)。
プロジェクトの Web プロパティで、これらの各 Web サイトのルートにローカル IIS 仮想ディレクトリを設定しました。
MVC プロジェクトの URL: http://hybridwebapp.com
Web API プロジェクトの URL:http://api.hybridwebapp.com
MVC アプリケーションでクリック ハンドラーを作成して Web API へのクロスドメイン リクエストを作成しましたが、Web API で Cors 属性を実際に構成したことがないにもかかわらず、正常に作成されました。
これは本番環境では明らかに失敗するため、誤解を招く可能性があります。これをより現実的にするにはどうすればよいでしょうか..実際にはCORS構成を微調整してより厳密なスコープを持たせたいのですが、失敗するはずのリクエストであっても、すべてのリクエストを受け入れるとそれができません..