[BUG] .aspx ページから WebServices を呼び出すと "ExternalException: プログラムを実行できません。" というエラー メッセージが表示される

サポートが終了した KB の内容についての免責事項

この記事は、マイクロソフトがサポートを提供しなくなった製品について記述しています。 したがって、この記事は「現状のまま」で提供され、更新されることはありません。

現象

SOAP (Simple Object Access Protocol) を使用して .aspx ページから WebServices メソッドを呼び出す場合、Microsoft IIS (Internet Information Services) Lockdown ツールを実行すると、.aspx ページでエラーが発生する場合があります。また、以下のエラー メッセージが表示されることがあります。
[ ExternalException (0x5): プログラムを実行できません。実行しようとしたコマンドは "d:\winnt\microsoft.net\framework\v1.0.3408\csc.exe" /noconfig @"D:\WINNT\TEMP\eyrpuhyg.cmdline" です。]
この問題は、Web アプリケーションまたは Web サービスが Web サービスのクライアントで、かつ匿名ユーザー アカウントを装っている場合にのみ影響します。

原因

IIS Lockdown ツールでは、IUSR_コンピュータ名 および IWAM_コンピュータ名 アカウントによる Windows ディレクトリ (%windir%) 内のすべての実行可能ファイル (*.exe) への実行アクセスを拒否します。これには、XmlSerializer クラスで使用する Csc.exe ファイルなどのフレームワーク ツールが含まれます。Web アプリケーションや Web サービスが IUSR_コンピュータ名 または IWAM_コンピュータ名 を偽装する場合、Web アプリケーションや Web サービスは XmlSerializer を使用してオブジェクトを XML (Extensible Markup Language) 文書にシリアル化できません。


: XmlSerializer が偽装の範囲外で生成されコンパイルされているため、この問題は、Web サービスのサーバー側には影響を与えません。

解決方法

この問題を解決するには、次のいずれかの方法を使用します。
  • 異なる非匿名アカウントを使用して偽装する (これが推奨される方法です)。
  • Windows ディレクトリ内の実行可能ファイルに、十分なアクセス許可を追加する。

状況

マイクロソフトでは、この問題をこの資料の冒頭に記載したマイクロソフト製品の問題として認識しています。

詳細

問題の再現手順

  1. IIS アプリケーションで匿名アクセスを許可します。
  2. 以下のとおり、ローカルの Web.config ファイルで Web アプリケーションの偽装を有効にします。
    <configuration>
    <system.web>
    <identity impersonate="true" />
    </system.web>
    </configuration>
  3. IIS Lockdown ツールを起動するか、Csc.exe ファイルに対する IUSR_コンピュータ名 または IWAM_コンピュータ名 アカウントのアクセスを拒否し、ページを要求します。

関連情報

ASP.NET アプリケーションにおける偽装の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
306158 INFO: Implementing Impersonation in an ASP.NET Application
306158 [INFO] ASP.NET アプリケーションに偽装を実装する
Web サービスの詳細については、以下の MSDN Web サイトを参照してください。
また、Web サービスの詳細については、Visual Studio .NET オンライン ヘルプ マニュアルの " Creating and Accessing Web Services Walkthroughs " トピックを参照してください。

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 315904 (最終更新日 2002-01-24) をもとに作成したものです。


この資料に含まれているサンプル コード/プログラムは英語版を前提に書かれたものをありのままに記述しており、日本語環境での動作は確認されておりません。


プロパティ

文書番号:315904 - 最終更新日: 2002/08/08 - リビジョン: 1

フィードバック