2009-06-25 5 views
2

Ich habe eine Umgebung, in der ich keinen weiteren HTTP-Container hinzufügen kann (egal ob ServiceHost, IIS usw.), aber ich muss SOAP-Anfragen (dargestellt als Strings) mit einem WCF-Web-Service bearbeiten. Ich hatte gehofft, einen einfache Wrapper-Methode (C#) zu schreiben wie:Wie kann ich einen WCF-Vorgang ohne HTTP-Container aufrufen?

string processSoapMessage(string req); 

Bei diesem Verfahren würde ich manuell eine System.ServiceModel.Channels.Message Instanz mit einem XML-Reader erstellen, die auf der Eingangskette arbeiten. Ich hatte gehofft zu vermeiden, manuellen Dispatching-Code zu schreiben, indem ich einen ChannelDispatcher erstellte, der die resultierende Message-Instanz verarbeiten würde, aber es scheint, dass ChannelDispatchers an einen bestimmten ServiceHost gebunden sind, etwas, das ich in meiner Umgebung nicht haben kann, wenn es einen offenen Port benötigt. Gibt es einen Dispatch-Code, den ich aufrufen kann, ohne einen Hosting-Container zu erstellen?

+1

Woher kommt die SOAP-Anfrage, die Sie verarbeiten sollen? –

+0

Ich gehe mit Shiraz zu diesem Thema: Wenn du nicht schon einen offenen Port hast, woher kommt die Seife, genau? –

+0

Der Web-Service, mit dem Sie sprechen müssen, befindet sich auf demselben Computer? –

Antwort

0

Sie können also keine einfache Konsolenanwendung erstellen, die einen ServiceHost zum Hosten Ihrer Serviceklasse erstellt und öffnet?

Marc

+0

Alles, was einen offenen Port erfordert, ist verboten, aber es ist mir nur in den Sinn gekommen, dass ich Named Pipes-Endpunkte verwenden könnte. Ich werde es versuchen. – Dan

+0

Sie können nicht einmal Port 80 verwenden? –

1

Unter der Annahme, alles auf derselben Maschine geschieht, dann eine Named Pipe Bindung verwendet, ist wahrscheinlich die beste Wahl.

-1

Was auch immer Sie tun, verwenden Sie nicht den Typ System.String, um XML zu halten. Pass ein XmlReader oder XmlDocument oder etwas. Verwenden Sie XML-APIs immer zum Bearbeiten von XML.

+0

Downvoter: nicht wahr? Sie denken, dass die Manipulation von XML als Strings ein guter Plan ist? –

Verwandte Themen