- - PR -
オブジェクト(ユーザー定義クラス)のやり取りの仕方(C#)
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-01-13 23:01
いつも参考にさせて頂いています、yutaです。
現在、下図のようにリモートオブジェクト(クラスライブラリ)を介して WebサーバーとWindowsサービスの間でデータのやり取りを行っています。 Windowsサービス ← リモートオブジェクト ← Webサーバー → → ArrayList型やデータ型のやりとりは問題なく行えますが、ユーザー定義 クラスのオブジェクトのやり取りがどうしても上手くいきません。 真っ先に思いついたのが、 【セットする側(サービス→リモート)】 ユーザー定義クラスのオブジェクトをobject型として代入 【ゲットする側(リモート→サーバー)】 代入されたobject型をユーザー定義クラスでキャスト なのですがコンパイルは通るものの、いざ実行すると 『指定されたキャストは有効ではありません。』 と、ゲットした時にエラーで弾かれてしまいます。(ユーザー定義クラスはリモートで定義) その他、ここの過去ログや http://www.atmarkit.co.jp/fdotnet/csharp_abc2/csabc2_007/cs2_007_04.html http://www.atmarkit.co.jp/fdotnet/csharp_abc2/csabc2_007/cs2_007_05.html 等のサイトの記事を参考にしてみましたが、どうしても解決に至りませんでした。 何卒よろしくお願いします。 [開発環境] C#+ASP.NET(.NET2003) |
|
投稿日時: 2006-01-14 00:34
ISerializableとか要るのかな…。いや、わからんけど。
|
|
投稿日時: 2006-01-14 00:42
なんにせよインターフェイスなり型なりの情報をそのユーザー定義クラスが持たなきゃならんのですよ、きっと。
あとは詳しい人が懇切丁寧に教えてくれるはずです↓。 |
|
投稿日時: 2006-01-14 02:36
こんばんは。
多分、ユーザー定義クラスに ・Serializable属性をつけて、値渡しで越えられるオブジェクトを作るか、 ・MarshalByRefObjectから派生させて、参照渡しで越えられるオブジェクトを作るか のどちらかだとおもいます。 #他にもやり方があるようですが… あとは詳しい人が懇切丁寧に教えてくれるはずです↓。 (~_~;) |
|
投稿日時: 2006-01-14 07:38
Marshal使って構造体をbyte[]にして送るとか……だめですか?(苦笑
あとは詳しい方が(ry ↓ _________________ 9uiet Design - http://quietdesign.rental.allinoneserver.net/ デザインにこだわったソフトの配布とプログラミングTipsの公開(予定)をしています。 9uiet Blog - http://seiga.blog44.fc2.com/ 笑ったことやプログラミングのことなど書 |
|
投稿日時: 2006-01-14 10:07
いや、まず、どこからどこが通らないのか、はっきりさせないとダメでしょう。
> Windowsサービス <-> リモートオブジェクト <-> Webサーバー リモートオブジェクトって何?リモート(ローカルでないPC)に"ある"オブジェクト?それとも、.NET リモーティングでやりとりできるように"したい"オブジェクト? また、Web サーバって、Web サービス?それとも Web アプリケーション?それとも、TCP か何かの口を開けて待っている(サービス|デーモン)アプリケーション? もちっと、一般的な言葉を使って、何をしているのかがわかるように書き直したら、詳しい方が(以下略)↓ ________________________________ □ Posted by Jitta on 2006/01/14 _________________ |
|
投稿日時: 2006-01-14 11:06
なにこのChain of Responsibility。
Gamma, Eric = Helm, Richard = Johnson, Ralph = Vlissides, John 「CHAIN OF RESPONSIBILITY」 『オブジェクト指向による再利用のためのデザインパターン』改訂版 1999年 ソフトバンクパブリッシング pp237-248 察するにTdnr_Symさんの線が濃厚ですかね。 Jittaさんのおっしゃるとおりもう一歩詳しい状況を書いてくれると あとは詳しい人が懇切丁寧に教えてくれるはずです↓。 |
|
投稿日時: 2006-01-14 11:12
なんにせよyutaさんが帰ってくるまで何もいえないのでyutaさんが帰ってきたらあとは詳しい方が(ry↓
_________________ 9uiet Design - http://quietdesign.rental.allinoneserver.net/ デザインにこだわったソフトの配布とプログラミングTipsの公開(予定)をしています。 9uiet Blog - http://seiga.blog44.fc2.com/ 笑ったことやプログラミングのことなど書 |