2017-12-21 1 views
0

Ich habe einen Service auf meiner Website, die gut funktioniert, aber jetzt möchte ich einige Werte über URL übergeben. Ist das möglich?Senden Sie einige Werte über URL zu. SVC Service

Service-URL: http://example.com/Service.svc

Ich benutze es wie:

ChannelFactory<IService> factory = new ChannelFactory<IService>("myKeyBinding"); 
IService service = factory.CreateChannel(); 
service.Method(value); 

Was ich will, ist: Service-URL: http://example.com/Service.svc?some=value&another=value Und diese Werte auf meiner Website.

+2

Das ist nicht, wie es funktioniert. Sie haben dort einen WCF-Dienst, d. H. SOAP. Sie übergeben keine Werte per Abfragezeichenfolge in SOAP, aber Sie senden sie im Anforderungstext. Im Grunde müssen Sie der services-Methode in Ihrem Code einen Parameter hinzufügen. Wenn Sie nicht verstehen, was ich sage, versuchen Sie ein Anfänger-Tutorial zu WCF zu finden. –

+0

können Sie Ihrem Dienst einen Restfull-Endpunkt hinzufügen, um diesen – Coder1409

+0

zu unterstützen. Ja, Sie haben Recht, ich dachte nur, ich kann Query String verwenden. –

Antwort

1

WCF unterstützen erholsames Verhalten. Es ist einfach:

Erste Markierung Ihrer Verträge mit WebInvoke

[WebInvoke(UriTemplate = "Method/{some}/{another}", Method = Get, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)] 
string Method(string some, string another); 

mit folgenden Metadaten ein neues ServiceBehavior erstellen:

<serviceMetadata httpGetEnabled=”true”/> 

einen neuen Endpunkt auf diesem Verhalten basierend erstellen. Es sollte Bindung haben als wsHttpBinding

Nun rufen Sie Ihren Dienst wie:

http://example.com/Service.svc/Method?some=value&another=value 
Verwandte Themen