私はちょっと変わった動作を発見しました。なぜ私のコードがこのように動作するのか説明していますか?HttpClientを使用してlocalhost上で残りのapiを呼び出すと、401が不正になり、IIS 8.5
私のシナリオはこれです:私は2つの残りのAPIをC#で作成し、CoreApiとFrontApiと呼ぶことができます。どちらのapiも同じサーバー上に別々のサイトとappPoolsを持ち、両方のappPoolがNetworkServiceとして実行されています。 FrontApiはHttpClientを使用してCoreApiを呼び出します。私はFrontApiのValuesControllerを呼び出すことによって呼び出しをトリガーし、次にCoreApiを呼び出します。 CoreApiはWindows認証を有効にしていますが、FrontApiは匿名認証を持っています。
私の開発マシンでFrontApiをホストすると、すべて正常に動作しますが、FrontApiがCoreApiを呼び出すと、完全なURLを使用して同じサーバー上でコホスティングすると401.0 Unauthorizedが発生します。 FrontApiから "http://localhost/api/values"を使用すると問題なく動作します。
どのような考えですか?
は、あなたのdevの環境やIISサーバー上で作業localhostですか? – lloyd
iisサーバー。奇妙な動作をする唯一のシナリオは、同じマシン上で両方のサービスをホストし、URLに完全なドメイン名を使用することです。 – Snorre