Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

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

Dieser Artikel wurde zuvor veröffentlicht unter D315904
Disclaimer zu nicht mehr gepflegten KB-Inhalten
Dieser Artikel wurde für Produkte verfasst, für die Microsoft keinen Support mehr anbietet. Der Artikel wird deshalb in der vorliegenden Form bereitgestellt und nicht mehr weiter 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.
csc.exe iis lock down
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: 12/20/2005 17:24:00 – Revision: 6.2

Microsoft ASP.NET 1.0, Microsoft Web Services (included with the .NET Framework) 1.0 , Microsoft Web Services Enhancements for Microsoft .NET 1.1

  • kbbug kbpending kbsecurity kbwebforms KB315904
Feedback
amp;t=">