2009-03-09 22 views
3

POSTが "Default.aspx/Test"(ここでTestはDefault.aspxのWebMethodで、要求のコンテンツタイプは "application/json")になっていたjQueryの例を見ました。WebMethodの応答形式

WebMethodからの返信はJSONにありました。私はいつもWebMethodsがSOAPレスポンスを返すと考えていましたが、私が言ったようにこのコードを正しく解釈すれば、WebMethodはJSONを返します。

これは間違いありませんか? WebMethodsはリクエストのcontent-typeの形式でレスポンスを返しますか?いつからこれが可能になったのですか?常に?または、ASP.NET AJAXがインストールされているためですか?もしそうなら、どのように動作するかを見るためにどの名前空間を逆アセンブルすることができますか?

私は、SOAPで書かれた.NET通信から.NETへのWebMethodsしか使用していませんでした。要求の文字列に基づいて、正しい形式(SOAP、JSON、XML)パラメータは、目的のフォーマットを指定します。私はいつもこの種のメタフォーマット機能にはWCFが必要だと思っていました。

+0

[この質問](http://stackoverflow.com/questions/460280/custom-c-data-transfer-objects-from-javascript-pagemethods)も参照してください。 – senderle

答えて

1

ASP.NET AJAXの一部です。例えば、Using Web Services in ASP.NET AJAXを参照してください。 AJAXクライアントアーキテクチャの一部は次のようになります。

HTTP POST動詞を使用してWebサービスを呼び出します。 POST要求には、ブラウザがサーバーに送信するデータが含まれています。サイズの制限はありません。したがって、データのサイズがGET要求の本来のサイズ制限を超えた場合に、POST要求を使用することができます。クライアントは、要求をJSON形式にシリアル化し、POSTデータとしてサーバーに送信します。サーバーはJSONデータを.NET Framework型にデシリアライズし、実際のWebサービス呼び出しを行います。応答中、サーバーは戻り値をシリアル化してクライアントに返します。クライアントは処理のためにJavaScriptオブジェクトに逆シリアル化します。

関連する問題