2011-03-25 17 views
1

AJAX対応WCFとmy asp.netページの間にカスタムオブジェクトを渡すことはできますか?カスタムビジネスオブジェクト:AJAX対応WCF

ウェブを検索しましたが、例は見つかりませんでした。大部分は、文字列や整数のような単純な型を示します。

また、カスタムオブジェクトのプロパティをクライアントサイドでJavaScriptを使用して取り込む方法もわかりません。

私たちは、 ブラウザがに追加しており、我々は、Webサービスからそのアドオンにデータを渡す必要があり、私が研究し、AJAXは、WCFは、.NET Framework 3.5とVS 2008を使用して

進むべき道である有効ように見えます

答えて

0

実際のカスタムオブジェクトを渡すことはできませんが、サービスとページ、JavaScriptなどにシリアル化されたバージョンを渡すことはもちろん可能です。基本的に、複雑なカスタムのフィールドをマップする必要があります。 NET型からDataContract属性で装飾されたクラスに変換します。これらのクラスは、サービスが返すタイプです。 DataContractで装飾されたクラスには、文字列、整数などのプリミティブ型のフィールドが含まれます.WCFサービスは、これらをXMLまたはJSONにシリアル化します。

クライアント側では、jQueryがあなたの親友になります。私は個人的にJSONを好みます。なぜなら、XMLの束を解析するのではなく、オブジェクトのプロパティーがずっと簡単に取得できるからです。したがって、JSONを出力するようにサービスを設定してください。

また、サービスURLを読みやすくするために、RESTfulな方法を使用してください。 WebGet属性を使用してサービスメソッドをデコレートし、UriTemplateを提供するのと同じくらい簡単です。いったん例を見ると、それはあなたの心を吹き飛ばすでしょう。注:Method = "GET"でWebInvokeに遭遇した場合は、代わりにWebGetを使用してください...もっとコンパクトです...メソッドの仕様は必要ありません。

私は私のWCFサービスと、それを消費するASP.NETアプリケーションを開発していたときに、この特定の記事では、私にとって非常に有用だった:http://www.c-sharpcorner.com/UploadFile/sridhar_subra/116/

ここであなたと同じ質問をして、別の人だ:http://social.msdn.microsoft.com/forums/en-US/wcf/thread/879d46af-9c78-4b5d-b746-82843d742a6f

・ホープこれは役に立ちます!ロングライブWCF!

+0

ありがとうございましたNoveJoe、だから、私はWCFでJSONシリアル化を使用し、それを消費するためにScriptManagerを使用します。 – cshah

+0

クール!あなたがScriptManagerで直接それを使うことはできません。 ScriptManagerは、スクリプトの管理のようなものです。しかし、私はそれを消費するためにjQueryを使用することをお勧めします。 ScriptManagerでjQueryスクリプトを読み込むことはもちろん可能です。 – NovaJoe

0

.NET 3.5では、普通の古いXML(POX)を受け入れ、XMLをWCFサービスに送信する必要があるWebHttpBindingです。

RESTスターターキットを使用してWCF RESTを使用することもできます。サンプルはhereのように見えます。これはJSONもサポートしています。

.NET 4.0を使用していた場合は、JSON対応のWCF HTTPがおすすめです。私は本当に好きではありませんが、4.0のWCF RESTは代わりでした。

関連する問題