Ich habe versucht, mithilfe der WCF-REST-Serviceanwendungsvorlage alle meine REST-fähigen Webdienste zu hosten. Ich möchte jedoch auch meine WCF-Services mit einem SOAP-Endpunkt bereitstellen können.
Ich kann meine WCF-RESTful-Dienste in WCF 4 problemlos mit dem folgenden Beispiel verwenden: Ссылка
Ist das möglich? Ich würde mir vorstellen, dass es einen Weg in der Global.asax geben sollte, um zusätzliche Endpunkte zu verdrahten und anzugeben, ob man basicHttpBinding verwendet. Muss ich die WCF-REST-Serviceanwendungsvorlage nicht verwenden und eine Standard-Serviceanwendung erstellen und über die Config verbinden?
Danke für jede Hilfe.
Obwohl ich REST- und SOAP-Endpunkte in den meisten Fällen nicht kombinieren würde, stimme ich zu, dass dies in bestimmten Fällen notwendig ist. Die Antwort auf die Frage: Ja, es ist möglich, sie zu mischen. Sie haben zwei Möglichkeiten:
Der Aufruf in Global.asax.cs, der die Route für den REST-Endpunkt definiert
%Vor%definiert im Wesentlichen einen Dienst an der Adresse / Service1. Sie können einen neuen "Service" hinzufügen, der die gleiche Service-Implementierung verwendet, jedoch eine andere Service-Host-Factory verwendet (anstelle der WebServiceHostFactory, die einen REST-Endpunkt definiert, verwenden Sie Ihren eigenen):
%Vor%Und in global.asax.cs, RegisterRoutes:
%Vor%Ich musste der Fabrik von carlosfigeira einen Konstruktor hinzufügen, damit der Endpunkt vom Interface und nicht vom Service selbst erstellt wird:
%Vor%Ich habe einen Webservice ausgeführt, bei dem Clients sowohl SOAP- als auch REST-Zugriff benötigen. Sie können Ihre REST-URL-Vorlagen mit den Attributen WebGet und WebInvoke definieren.
%Vor%Ordnen Sie die Endpunkte dann einfach wie erforderlich in der Konfiguration
zu %Vor%