Problembehandlung für das Lernprogramm "Erste Schritte"
Dieses Thema enthält die beim Durcharbeiten des Lernprogramms "Erste Schritte" am häufigsten auftretenden Probleme sowie Möglichkeiten zur Problembehebung.
Ich kann die Projektdateien auf meiner Festplatte nicht finden.
Beim Versuch, die Dienstanwendung auszuführen, wird Folgendes ausgegeben: "HTTP konnte URL 'http://+:8000/ServiceModelSamples/Service/' nicht registrieren. Der Prozess verfügt nicht über die Zugriffsrechte für diesen Namespace.
Beim Versuch, das Tool "Svcutil.exe" zu verwenden, wird Folgendes ausgegeben: "Der Befehl 'svcutil' ist entweder falsch geschrieben oder konnte nicht gefunden werden."
Die von "Svcutil.exe" erstellte Datei "App.config" wurde nicht gefunden.
Beim Kompilieren der Clientanwendung tritt der folgende Fehler auf: "'CalculatorClient' enthält keine Definition für '<Methodenname>', und es konnte keine Erweiterungsmethode '<Methodenname>' gefunden werden, die ein erstes Argument vom Typ 'CalculatorClient' akzeptiert. (Fehlt eine Using-Direktive oder ein Assemblyverweis?)"
Beim Kompilieren der Clientanwendung tritt folgender Fehler auf: "Der Typ- oder Namespacename 'CalculatorClient' konnte nicht gefunden werden. (Fehlt eine Using-Direktive oder ein Assemblyverweis?)"
Beim Ausführen des Clients tritt folgender Fehler auf: Unbehandelte Ausnahme: System.ServiceModel.EndpointNotFoundException: Verbindung mit "https://localhost:8000/ServiceModelSamples/Service/CalculatorService" konnte nicht hergestellt werden. TCP-Fehlercode "10061": Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte.
Ich kann die Projektdateien auf meiner Festplatte nicht finden.
Visual Studio speichert Projektdateien unter "C:\Benutzer\<Benutzername\Dokumente\Visual Studio 2010\Projects" (Windows Vista und Windows°7) bzw. unter "C:\Dokumente und Einstellungen\<Benutzername>\Eigene Dateien\Visual Studio 2010\Projects" (ältere Windows-Versionen).
Beim Versuch, die Dienstanwendung auszuführen, wird Folgendes ausgegeben: "HTTP konnte URL 'http://+:8000/ServiceModelSamples/Service/' nicht registrieren. Der Prozess verfügt nicht über die Zugriffsrechte für diesen Namespace.
Der Prozess, der einen WCF-Dienst hostet, muss mit Administratorrechten ausgeführt werden. Wenn Sie den Dienst innerhalb von Visual Studio 2010 ausführen, müssen Sie Visual Studio 2010 als Administrator ausführen. Klicken Sie hierzu auf Start, klicken Sie mit der rechten Maustaste auf Visual Studio 2010, und wählen Sie Als Administrator ausführen. Wenn Sie den Dienst von einer Eingabeaufforderung aus ausführen, müssen Sie die Eingabeaufforderung ebenfalls als Administrator ausführen. Klicken Sie auf Start, klicken Sie mit der rechten Maustaste auf Eingabeaufforderung, und wählen Sie Als Administrator ausführen aus.
Beim Versuch, das Tool "Svcutil.exe" zu verwenden, wird Folgendes ausgegeben: "Der Befehl 'svcutil' ist entweder falsch geschrieben oder konnte nicht gefunden werden."
"Svcutil.exe" muss sich im Systempfad befinden. Die einfachste Lösung stellt die Verwendung der Eingabeaufforderung dar. Klicken Sie auf Start, wählen Sie Alle Programme, Visual Studio 2010, Visual Studio-Tools und anschließend Visual Studio 2010-Eingabeaufforderung. Durch diese Eingabeaufforderung wird der Systempfad auf die korrekten Speicherorte für alle Tools festgelegt, die im Lieferumfang von Visual Studio 2010 enthalten sind.
Die von "Svcutil.exe" erstellte Datei "App.config" wurde nicht gefunden.
Im Dialogfeld Vorhandenes Element hinzufügen werden standardmäßig nur Dateien mit den folgenden Erweiterungen angezeigt: "CS", "RESX", "SETTINGS", "XSD", "WSDL". Sie können angeben, dass alle Dateitypen angezeigt werden sollen. Wählen Sie hierzu im Dropdown-Listenfeld in der rechten unteren Ecke des Dialogfelds Vorhandenes Element hinzufügen die Option Alle Dateien (*.*) aus.
Beim Kompilieren der Clientanwendung tritt der folgende Fehler auf: "'CalculatorClient' enthält keine Definition für '<Methodenname>', und es konnte keine Erweiterungsmethode '<Methodenname>' gefunden werden, die ein erstes Argument vom Typ 'CalculatorClient' akzeptiert. (Fehlt eine Using-Direktive oder ein Assemblyverweis?)"
Nur Methoden, die mit dem ServiceOperationAttribute markiert sind, werden für die Außenwelt verfügbar gemacht. Wenn Sie das ServiceOperationAttribute-Attribut bei einer der Methoden in der ICalculator-Schnittstelle vergessen haben, wird beim Kompilieren einer Clientanwendung, die ohne dieses Attribut einen Aufruf an den Vorgang sendet, diese Fehlermeldung ausgegeben.
Beim Kompilieren der Clientanwendung tritt folgender Fehler auf: "Der Typ- oder Namespacename 'CalculatorClient' konnte nicht gefunden werden. (Fehlt eine Using-Direktive oder ein Assemblyverweis?)"
Dieser Fehler tritt auf, wenn dem Clientprojekt die Datei "Proxy.cs" oder "Proxy.vb" nicht hinzugefügt wird.
Beim Ausführen des Clients tritt folgender Fehler auf: Unbehandelte Ausnahme: System.ServiceModel.EndpointNotFoundException: Verbindung mit "https://localhost:8000/ServiceModelSamples/Service/CalculatorService" konnte nicht hergestellt werden. TCP-Fehlercode "10061": Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte.
Dieser Fehler tritt auf, wenn Sie die Clientanwendung ausführen, ohne den Dienst auszuführen.
Folgende unbehandelte Ausnahme tritt auf: System.ServiceModel.Security.SecurityNegotiationException: Fehler bei SOAP-Sicherheitsaushandlung mit 'https://localhost:8000/ServiceModelSamples/Service/CalculatorService' für Ziel 'https://localhost:8000/ServiceModelSamples/Service/CalculatorService'.
Dieser Fehler tritt auf einem domänenverbundenen Computer auf, der nicht mit dem Netzwerk verbunden ist. Verbinden Sie den Computer entweder mit dem Netzwerk, oder deaktivieren Sie die Sicherheit für den Client oder den Dienst. Ändern Sie für den die WSHttpBinding-Bindung erstellenden Dienst den Code folgendermaßen ab.
// Step 3 of the hosting procedure: Add a service endpoint
selfhost.AddServiceEndpoint(typeof(ICalculator), new WSHttpBinding(SecurityMode.None), "CalculatorService");
Ändern Sie für diesen Client im Element <Bindung> das Element <Sicherheit> folgendermaßen:
<security mode="Node" />
Siehe auch
Konzepte
Schnelleinstieg zur Problembehandlung in WCF
Behandeln von Setup-Problemen