2007年07月04日

Webサービスで、独自のクラスを渡すには

  
Webサービスで、独自のクラスを渡したい場合のやり方。

(1)何も考えずに、クラスを引数にする。
(2)stringにシリアライズして渡す。

(2)の良いところは、クライアント、サーバーともに、引数で渡す型について同じnamespaceにあるクラスとして利用できるということ。
そして、クラスの定義が変更されても、WebMethodのインターフェースを変えなくても良いこと。

さらに、閉じたシステムでは、双方で同じアセンブリを利用できるので、共通化がやりやすい。
メソッドを持ったクラスを受け渡すことも問題なくできる。


なお、(2)の実装は、いくつかやり方があるが、XMLシリアライズなどよりも、BinaryFormatterでシリアライズした後、Base64でエンコーディングして渡すやり方の方がわずかに早かった。


 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/50852666