wake-up-neo.net

So erstellen Sie einen WCF-Dienst mit "SvcUtil.exe"

Ich verwende SvcUtil.exe um IClassName.cs Datei aus der wsdl-Datei zu generieren, und das funktioniert einwandfrei. Mein Problem ist, dass ich nicht weiß, wie ich ClassName.svc datei mit Befehlsargumenten für SvcUtil.exe generiert.

Nach dem Ausführen der Datei "SvcUtil.exe" möchte ich den WCF-Dienst erhalten, wenn Sie ihn aus Visual Studio Wizard mit allen Klassen * .svc, * .cs und der Schnittstelle erstellt haben.

Vielen Dank.... Skrch

6
Skrch

Um eine Proxy-Klasse zu generieren, muss unser Service betriebsbereit sein. Stellen Sie daher vor der Verwendung dieses Dienstprogramms sicher, dass Ihr Dienst ohne Probleme ausgeführt wird.

Nachdem Sie den Dienststatus überprüft haben, rufen Sie die Eingabeaufforderung von Visual Studio auf und führen Sie den folgenden Befehl aus.

svcutil http://localhost/MyService/ClassName.svc /Language=c#
/t:Code /out:ClassNameProxy.cs /config:ClassNameProxy.config

Im obigen Befehl sollten Sie die Dienst-URL (http://localhost/MyService/Service1.svc) durch die URL Ihres Dienstes ersetzen. Da meine Dienste in c # .net entwickelt werden, wähle ich die Proxys in derselben Sprache mit dem/Language = c # -Flag.

/ t: code gibt an, dass der ausgegebene Code als Code generiert werden soll. 

Die Parameter "/out:ClassNameProxy.cs /config:ClassNameProxy.config" weisen das Dienstprogramm an, die Dateien gemäß den in diesen Parameterwerten angegebenen Namen zu benennen. Nachdem Sie den Befehl ausgeführt haben, generiert das Tool die Ausgabedatei und die Konfigurationsdatei.

Fügen Sie anschließend die Datei ClassNameProxy.cs in Ihr Projekt ein, öffnen Sie die Datei ClassNameProxy.config und kopieren Sie die Einträge in Ihre Datei web.config . Möglicherweise müssen Sie auch die ClassNameProxy.vb-Datei und den namespace gemäß den Angaben aktualisieren, die Sie in Ihrem Projekt verwenden. Danach können Sie den Dienst einfach in Ihrem Code referenzieren und die Operationen aufrufen.

15

Einige Beispiele aus dem Tool, wie es verwendet werden kann

svcutil http://service/metadataEndpoint - Generieren Sie Client-Code aus einem laufenden Service oder aus Online-Metadatendokumenten.

svcutil *.wsdl *.xsd /language:C# - Generieren Sie Clientcode aus lokalen Metadatendokumenten.

svcutil /dconly *.xsd /language:VB - Generieren Sie Datenvertragstypen in VisualBasic aus lokalen Schemadokumenten.

svcutil /t:metadata http://service/metadataEndpoint - Laden Sie Metadatendokumente von laufenden Diensten herunter

svcutil myAssembly.dll - Generieren Sie Metadatendokumente für Serviceverträge und zugehörige Typen in eine Versammlung

svcutil myServiceHost.exe /serviceName:myServiceName - Generieren Sie Metadatendokumente für einen Dienst und alle zugehörigen Dienste Verträge und Datentypen in einer Assembly

svcutil myServiceHost.exe /dconly - Generieren Sie Metadatendokumente für Datentypen in einer Assembly

svcutil /validate /serviceName:myServiceName myServiceHost.exe - Überprüfen Sie das Service-Hosting

svcutil /t:xmlserializer myContractLibrary.exe - Generieren Sie Serialisierungstypen für XmlSerializer-Typen, die von einem Dienst verwendet werden. Verträge in der Versammlung

9
bijayk

Für jeden, der immer noch nach der Antwort sucht und die 2012-Version nicht zum Laufen bringen konnte, haben Visual Studio 2015 und .Net 4.5 das Tool svcutil.exe mit der Option/serviceContract aktualisiert, um eine Klasse zu generieren, die dann als SVC-Dienst implementiert werden kann. Abhängig von den ursprünglichen XSDs müssen Sie möglicherweise auch die Optionen/syncOnly/wrapped/messageContract angeben 

3
Dean

Ich denke, das .NET 4.5 Contract First Tool, das als Build-Task in Visual Studio 2012 integriert ist, wird Ihnen dabei helfen, die benötigten Servicedateien zu erstellen. 

Serviceverträge müssen häufig aus vorhandenen Diensten erstellt werden. In .NET Framework 4.5 können Datenvertragsklassen mithilfe des Contract-First-Tools automatisch aus vorhandenen Services erstellt werden. Um das Contract-First-Tool verwenden zu können, muss die XML-Schemadefinitionsdatei (XSD) lokal heruntergeladen werden. Das Tool kann keine Remote-Datenverträge über HTTP importieren. 

http://msdn.Microsoft.com/de-de/library/hh674270(v=vs.110).aspx

1
Seymour

Svcutil.exe generiert den Service-Client-Proxy auf der Grundlage der WSDL (Web Service Description Language) aus dem Dienst.

Öffnen Sie den Visual Studio-Befehl Aufforderung und führen Sie den Befehl aus

svcutil http://localhost/MyService/Service.svc  /Language=c#  /t:Code  /out:C:\Service\ServiceProxy.cs /config:C:\Service\ServiceProxy.config

es generiert zwei Dateien im Ordner C:\Service, die Proxy-Datei und die Konfigurationsdatei.

Weitere Details hier .

0
Rajeev Tiwari