背景/システム情報
- Windows Server 2008 Standard x64、IIS 7.0
- 個々のIISアプリケーションを含むIISサイトがあります。
- 各アプリケーションには、任意のCPUでコンパイルされた.NET4.0で記述されたWebサービスが含まれています。
- すべてのアプリケーションは同じアプリケーションプールを共有します。アプリケーションプールは.NET4.0および統合パイプラインに設定されています。
- このサイトは、ASP.NETの偽装とWindows認証用にセットアップされています。
- このサイトは、ドメイン/イントラネット内でのみ使用されます。
- クライアントアプリケーション(Server 2008ボックスではなくドメイン内で実行されているC#アプリケーション)は、生成されたプロキシクラスを使用して、System.Net.CredentialCache.DefaultCredentialsメソッドを使用して資格情報を渡します。
ゴール
- 同じサイトに存在するWebサービスメソッドを呼び出す必要のあるWebサービスメソッドがいくつかあります。サイトの下にある別のiisアプリケーションです。
問題
- 最初のWebサービスメソッドが(生成されたプロキシクラスを介して)2番目のWebサービスメソッドを呼び出し、DefaultCredentialsまたはDefaultNetworkCredentialsを渡すと、401の不正なエラーが発生します。
これが私が知っていることと私が試したことです
私はそのほとんどすべての記事をレビューしました、そして誰もがダブルホップについて話します。ダブルホップの用語について混乱しています。私は新しいマシンに飛び乗っているのではなく、同じWebサイト内の現在のマシンを使用しています。これはダブルホップではありませんか?
Windows Server2003のIIS6で.NET1.1と同じWebサービスを実行しており、DefaultCredentialsを2番目のWebサービス呼び出しに渡すことができます。401エラーはありません。IIS 6でセットアップされたWebサービスはすべて同じアプリケーションプールを使用しており、すべてアプリケーションとしてセットアップされています。
IIS7.5を実行しているWindows7開発マシンでは、これを機能させることができます。System.Net.CredentialCache.DefaultNetworkCredentialsまたはSystem.Net.CredentialCache.DefaultCredentialsを使用して、別のWebサービスのプロキシクラスを使用してWebサービスを呼び出すことができます。私のwin7IIS7.5サイトとサーバー2008サイトは同じようにセットアップされているようです。
サイト内のアプリケーションごとに異なるアプリケーションプール(統合パイプライン)を使用してみましたが、役に立ちませんでした(そうなるとは思いませんでした)。
アプリケーションプールをクラシックに設定すると、サイトが起動しません。サービス利用不可エラーが発生します。私のwin7マシンでは、クラシックまたは統合パイプラインを使用でき、正常に動作するため、これは奇妙なことです。
近くにいるような気がします。任意の考えや入力をいただければ幸いです!
ありがとう、