2 Stimmen

c#-Anwendung: Ist es möglich, eine JSON-Schnittstelle zu implementieren?

Ich habe eine einfache C#-App (.Net 4.0 + WPF) gebaut, die JSON-Nachrichten über TCP-Sockets senden und empfangen kann.

In einem nächsten Schritt sollte es möglich sein, dass JavaScript-Anwendungen auf Websites und PHP-Skripte JSON-Nachrichten an meine Anwendung senden und von ihr empfangen können. Ist das möglich?

Da JS/PHP zustandslose HTTP-Verbindungen verwenden werden, wie sollte eine Anfrage an meine App funktionieren, z. B. sollte die JS/PHP-Apps eine JSON-Nachricht an meine App und meine App Antwort (HTTP-Antwort) mit einer JSON-Nachricht senden? Ist das überhaupt möglich? Und sollte ich die GET- oder POST-Methode verwenden, um die JSON-Nachrichten an/von meiner Anwendung zu senden?

Ich hoffe meine Fragen stiften nicht zu viel Verwirrung ;-) Ich bin aber für jeden Tipp, jede Klarstellung oder Rückmeldung dankbar, die Sie mir geben können.

Mike

3voto

George Johnston Punkte 30756

Sie können dies über einen .NET-Webdienst erreichen, indem Sie spezielle JSON-Anweisungen für die Webmethode verwenden, z. B.

[ScriptMethod(UseHttpGet = true, ResponseFormat=ResponseFormat.Json)]
public string DoSomething(string param1, int param2) 
{
   // Do Something
}

Wenn die ResponseFormat.Json Eigenschaft angegeben ist, werden die zurückgegebenen Daten in das entsprechende JSON-Format serialisiert. Um eine echte JSON-Antwort zu erhalten, müssen Sie außerdem den Content-Type auf "application/json" aus der anfragenden Anwendung. Andernfalls wird die Methode versuchen, die Antwort in XML zu verpacken.

Außerdem aktiviere ich ein HttpGet auf diese Methode, so dass Sie über eine Abfragezeichenfolge an die Methode, z. B. posten können.

http://www.example.com/service.asmx?param1='Hello'&param2=1;

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X