質問
JSON Webサービスを作成する最良の方法は何ですか? Javaを使用している別のチームがあり、JSONを使用してすべての通信を行うことを主張しています。サードパーティのフレームワークよりもWCFを使用したいと思います。
このブログを見つけました: http://www.west-wind.com /weblog/posts/164419.aspx であり、Microsoftの実装にM $固有のがらくたが含まれていることを示唆しています。
解決 4
JayRock を使用することになりました。その素晴らしい技術は、まさに機能します。正しく構成しないと、このくだらないWCFからNullReferenceExceptionsを取得することはありません。
他のヒント
WCFと3.5フレームワークを使用する場合、これ以上簡単なことはありません。 OperationContractsをWebGet属性でマークするときは、ResponseFormatパラメーターをWebMessageFormat.Jsonに設定するだけです。サービスがRESTfulにアクセスされると、DataContractJsonSerializerを使用してデータを返します。
JSONシリアル化するPOCOを[DataContract]としてマークし、各シリアル化可能なメンバーを[DataMember]としてマークすると非常に役立ちます。そうでなければ、Rickが彼のブログ投稿で指摘したように、ファンキーなJSONになってしまいます。
最新のコードファーストモデルである ServiceStack で、WCFに代わる成熟したオープンソースの代替手段を維持しています。駆動型のWCF置換Webサービスフレームワークコードとリモートベストプラクティスを奨励する簡潔なDRY、高性能でスケーラブルなREST Webサービス。
.NETの最速JSONシリアライザーを含み、JSON、JSONPを自動的にサポートします、 CORS ヘッダーとform-urlencoded / multipart-formdata。オンラインデモはすべてAjaxを使用しているので、検討を始めるのに適しています。
さらに、XML構成またはcode-genはなく、 'write-once' C#Webサービスはすべての JSON、XML、SOAP、JSV、CSV、HTML すぐに使用可能なエンドポイント。独自の必要に応じてコンテンツタイプ。
また、一般的な同期/非同期サービスクライアントが含まれています。 、クライアント/サーバー通信ゲートウェイのエンドツーエンド。
これは、設定なしで自動的に登録され、すべての定義済みおよびカスタムREST-fulルートのWebデータ形式:
public class Hello {
public string Name { get; set; }
}
public class HelloResponse {
public string Result { get; set; }
}
public class HelloService : IService<Hello> {
public object Execute(Hello request)
{
return new HelloResponse { Result = "Hello, " + request.Name };
}
}
上記のサービスは、以下の行を使用して、C#で(build-steps / code-genなしで)呼び出すことができます。
var client = new JsonServiceClient(baseUrl);
var response = client.Send<HelloResponse>(new Hello { Name = "World!" });
Console.WriteLine(response.Result); // => Hello, World
そしてjQueryで:
$.getJSON('hello/World!', function(r){
alert(r.Result);
});
JSON Webサービスを作成する最良の方法は何ですか?もう一つあります Javaを使用しているチームは、すべてのコミュニケーションを持つことを主張 JSONを使用して行われます。サードパーティではなくWCFを使用したい フレームワーク。
これはわかりやすいチュートリアルで、最初のWCFサービスをセットアップし、それをSQL Serverデータベースにリンクするプロセスを説明しています。
http://mikesknowledgebase.com/pages/Services/WebServices-Page1.htm
Microsoftの最愛の Northwind SQL Serverデータベースを使用し、シンプルなJSON WCF Webサービスを作成してデータの読み書きを行う方法を示します。
ああ、それからJavaScriptまたはiOSアプリケーションを使用してJSONデータを消費する方法を示しています。
がんばって!