14

紳士淑女の皆様、こんにちは!

OK、 ASP.NET Web Service Results, Proxy Classes and Type Conversionに関する私の他の質問に続きます。私は自分のプロジェクトで、自分の思考を制限する必要がある部分に来ました。

基本的に、Web サービスから返してクライアント アプリケーションで使用する必要がある、大きくて複雑なカスタム オブジェクトがあります。

ここで、前の説明に基づいて、これが戻り値の型としてプロキシ クラスの形式をとることがわかっています。これを克服するには、基本的にプロパティを一方から他方にコピーする必要があります。

この場合、それは私が本当に、本当に、本当にしたいことです! 避けたい!

それで、他にどのようにこれを行うことができるでしょうか?

私が現在考えているのは、オブジェクトを XML に完全にシリアル化できるようにしてから、Web サービスから XML を文字列として返すことです。次に、クライアントでデシリアライズします。これはかなりの属性装飾を意味しますが、少なくとも両方のエンドポイントのコードは軽量になります。つまり、.NET XML シリアライザーを使用するだけです。

これについてどう思いますか。

4

4 に答える 4

5

.Net XML (de)serialisation はかなりうまく実装されています。一見、これは悪い考えではないと思います。

2 つのアプリケーションが同じ C# クラス定義をインポートする場合、これは無料でコピー コンストラクターの動作を取得するための比較的優れた方法です。クラス構造が変更された場合、Web サービスの消費/構築側で追加の変更を行う必要なく、両側が新しいクラス定義を取得するとすべてが機能します。

XML のマーシャリングとデマーシャリングにはわずかなオーバーヘッドがありますが、おそらくリモート Web サービス呼び出しのオーバーヘッドによって小さくなります。.Net XML シリアライゼーションは、ほとんどのプログラマーによく理解されており、保守が容易なソリューションを生成するはずです。

于 2008-08-20T11:12:00.193 に答える
4

こういうの大好きJSONです。jQueryスクリプト サービスを有効にして Web サービスに接続するために使用する、会社の POC ドロップ シング タイプのポータルを完成させました。メッセージは軽量で、解析などはほとんど処理されます。jQuery ajax私が読んだものはここにありました(大好きです!):jquery ajaxの記事

于 2008-08-20T11:36:35.017 に答える
1

昨日、非常によく似たトピックについて、役に立つかもしれないいくつかの素晴らしい回答がありました。

JavaScript とサーバー間の通信

于 2008-08-20T10:50:15.363 に答える
1

ロブ、あなたの他の質問とこの質問を見ると、私たちの環境がまさにその状況にあるように思えます。しかし、私たちが行ったことは、ASP.Net Web サービスから WCF Web サービスに移行することであり、その過程で (ほとんどの部分で) この問題が解決されました。

Web サービスを WCF Web サービスとして実装できる可能性がある場合は、これもうまくいく可能性があります。同時に、"ASP.Net Web サービス スタイル" の実装を必要とする一部のクライアント アプリケーションとの後方互換性を、サービス トランスポートに WCF の basichttp バインディングを使用して維持していることにも言及しておく必要があります。最終的に、「新しい」クライアント アプリケーションは、実際の WCF 呼び出しを行うため、Web サービス呼び出しからの戻り値の型として (これらの共有オブジェクトのみを含むアセンブリを参照することにより) 実際のビジネス オブジェクトを使用できるようになります。

これは、自動生成されたプロキシ クラスを利用せず、独自のクライアント チャネルを構築して WCF サービスと通信することによって実現します。

WCF を使用できる可能性がある場合は、追加情報を投稿できることをお知らせください。

于 2008-08-20T12:53:33.803 に答える