FEHLER: "ExternalException: Ein Programm kann nicht ausgeführt werden" beim Aufrufen der Methode "WebServices" von einer ASPX-Seite aus

Veralteter Haftungsausschluss für KB-Inhalte

Dieser Artikel wurde für Produkte geschrieben, für die Microsoft keinen Support mehr anbietet. Deshalb wird dieser Artikel im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.

Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
315904 BUG: "ExternalException: Cannot Execute a Program" Error Message When You Call WebServices from .aspx Page

Problembeschreibung

Falls Sie das "Simple Object Access Protocol" (SOAP) einsetzen, um die Methode WebServices von einer ASPX-Seite aus aufzurufen, kann die Ausführung der ASPX-Seite scheitern, wenn Sie das Sperrprogramm für Microsoft Internet Information Services (IIS) (Microsoft Internet Explorer Lockdown Tool) ausführen. Außerdem wird möglicherweise die folgende Fehlermeldung angezeigt:
[ExternalException (0x5): Ein Programm kann nicht ausgeführt werden. Ausgeführter Befehl "d:\winnt\microsoft.net\framework\v1.0.3408\csc.exe" /noconfig @"D:\WINNT\TEMP\eyrpuhyg.cmdline".]
Dieses Problem betrifft nur Webanwendungen oder Webdienste, die Clients eines Webdienstes sind und das Benutzerkonto "Anonym" imitieren.

Ursache

Das IIS-Lockdown Tool verweigert den Konten "IUSR_ COMPUTERNAME" und "IWAM_ COMPUTERNAME" den Ausführungszugriff auf alle ausführbaren Dateien (*.exe) im Windows-Verzeichnis (%windir%). Dazu zählen auch Framework-Tools, zum Beispiel die Datei "Csc.exe", die von der Klasse XmlSerializer verwendet wird. Wenn Webanwendungen oder Webdienste die Konten IUSR_ COMPUTERNAME oder IWAM_ COMPUTERNAME imitieren, können sie nicht XmlSerializer einsetzen, um Objekte in XML-Dokumenten zu serialisieren.


Hinweis: Dieses Problem betrifft nicht die Serverseite eines Webdienstes, weil XmlSerializer außerhalb des Imitationsvorgangs generiert und kompiliert wird.

Lösung

Wenden Sie eine der folgenden Methoden an, um dieses Problem zu beheben.
  • Imitieren Sie ein anderes, nicht anonymes Konto. (Dies ist die empfohlene Methode.)
  • Definieren Sie ausreichende Berechtigungen für die ausführbaren Dateien im Windows-Verzeichnis.

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.

Weitere Informationen

Schritte zum Reproduzieren des Verhaltens

  1. Gestatten Sie den anonymen Zugriff auf die IIS-Anwendung.
  2. Aktivieren Sie den Identitätswechsel in der lokalen Datei "Web.Config" folgendermaßen:
    <configuration>
    <system.web><identity impersonate="true" />
    </system.web>
    </configuration>
  3. Führen Sie das IIS-Sperrprogramm aus, oder verweigern Sie den Konten IUSR_ COMPUTERNAME und IWAM_ COMPUTERNAME den Zugriff auf die Datei "Csc.exe", bevor Sie die Seite anfordern.

Informationsquellen

Weitere Informationen zum Identitätswechsel in einer ASP.NET-Anwendung finden Sie im folgenden Artikel der Microsoft Knowledge Base:

306158 Implementieren des Identitätswechsels in einer ASP.NET-Anwendung

Weitere Informationen zu XmlSerializer finden Sie im folgenden Artikel der Microsoft Knowledge Base:
315703 Welcher VERFAHRENSWEISE: TO: von dem Verwenden von .NET von Visual Basic wird ein Objekt zu XML serialisiert
Weitere Informationen zu Webdiensten finden Sie auf den folgenden MSDN-Websites:
XML Web Services Developer Center
http://msdn.microsoft.com/webservices

XML Web Service-Enabled Office Documents (an Extreme XML column)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnexxml/html/xml03192001.asp

Außerdem sehen Sie sich das Thema "Creating and Accessing Web Services Walkthroughs" in der Visual Studio .NET-Onlinehilfe an.
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Eigenschaften

Artikelnummer: 315904 – Letzte Überarbeitung: 14.07.2008 – Revision: 1

Feedback