2011-10-04 16 views
3

私は数年前からPHP開発者であり、JSONを使用して少なくとも12のAPIを開発しました。タスクを実行するurlを作成し、json_encode($ array)を返します。ケーキのピース...そうですか?ASP.NETを使用したJSON Webサービス - 不満なPHPユーザーから

私は以前は(以前は約8年前).netの開発者でしたが、私はクライアントのために小さなapi/webserviceを開発するタスクを与えられました。私はWCFに関するいくつかの読書をしてきましたが、今は数時間それを手直ししています。私の質問は..それは私ですか、それともJSONのブロックを返すだけでRESTfulなクエリを実行するのは非常に複雑ですか?言い換えれば、配列をとり、JSONとしてエンコードして吐き出すASPXページを作成できないのはなぜですか?それは本当にWCFでなければなりませんか?それともASMXでさえどうですか?過度の気分だと思う?いいえ? JSONの数行を返す単純なサービスを作っている場合、誰かがWCFの苦痛を乗り越える必要がある理由について、誰かが有効な共鳴を提供することができますか?

+0

を簡単なASMXのSERであなたがする必要があるのは、配列を返すだけです.ASPONは自動的にJSONをシリアル化します。その上で 'json_encode()'を呼び出すのと同じことをする必要はありません。それはそれほど複雑ではありません。 JavaScriptSerializerを使用してASPXページで直接実行する例がありますが、*するべきではありません*。 WebFormsのASPXページは、JSONを 'Response.Write'するためにのみ使用するとしても、ページライフサイクル全体を通して常に実行されます。あなたがそのルートに行くならば、あなたは軽微なパフォーマンス上のペナルティを被ります。 –

+0

マイクロソフトの技術は複数の方向に進化する傾向があるため、その選択肢があります。最近のMSのRESTベースの開発やWCFの簡素化に関するGlenn BlockやRob Coneryのカンファレンスビデオをチェックしたいかもしれません。例:「tech ed NA 2010 - WPH306 - 時折接続されるアプリケーション」、「MIX11 - FRM14 - Glenn Block - Web API、そのためのURL」 PS:この質問はモデレータツールのレーダーを越えて明確な質問ではないと表示されました。主観的な痛みの観察から、xxxへの最も簡単なアプローチ(具体的に)に疑問を言い換えることができます。 –

+0

おかげで..とても役に立ちました。 –

答えて

3

あなたはWebMethods使用することができます。

Using jQuery to directly call ASP.NET AJAX page methods

コードビハインド:

public partial class _Default : Page 
{ 
    [WebMethod] 
    public static string GetDate() 
    { 
    return DateTime.Now.ToString(); 
    } 
} 

スクリプト:

$.ajax({ 
    type: "POST", 
    url: "Default.aspx/GetDate", 
    data: "{}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function(msg) {   
    // alert(msg.d); 
    } 
}); 
関連する問題