2012-04-25 14 views
1

オブジェクトまたは構造体をwinformアプリケーションから.asmx Webサービスに渡す良い方法について知っていますか?これはNETで本当に簡単になるはずですが、私はそれを見ていないようです。オブジェクトまたは構造体を.asmx Webサービスに渡す

リックシュトラールは、2004年に同じ質問があったが、それは、私は多分存在していない探しているものを次のようになります。

http://www.west-wind.com/weblog/posts/2004/Apr/18/Net-Web-Services-and-passing-objects-and-Data

基本的に、私はちょうど10文字列またはint型を持つ単純な構造体を持っていますメンバー。私はそれをasmx Webサービスに送信し、強タイピングをそのまま維持したいと思います。それでおしまい。

クライアントとサービスで構造体を定義しようとしました。それから、構造定義を持つDLLを作成し、それを私のWebサービスとクライアントの両方に含めました。それでも名前空間が違っていて問題があった。

私は、人々が私が説明していることをやっているように見える以下のような記事を参照してください。おそらく、とにかく数ヶ月でそれを変換する - それが、これは任意の容易になります場合、私は、WCFにサービスを変換することができ

Passing Objects Via Web Service

:私は方法がわかりません。

+1

'B/Cの名前空間は、おかげで問題の診断を支援するためにあなたの質問を編集してください、私たちはどのように問題を再現するには、エラーメッセージとを参照してください必要なご質問の核心があるdifferent'でした! –

答えて

1

私は以前それを考えていなかった理由を私は知らないが、ジェレミーの応答が手伝いました。クライアントとサービス上でオブジェクトの定義を作成する代わりに、Webサービス上で構造体の定義を公開しました。構造体を作成するときは、グローバル:: Webservice.com.mydomain.MyStruct型であることを確認するだけです。

0

何を試しましたか?どのようなエラーに遭遇しますか?コードはどのように見えますか?

[Serializable] 
public class MyObject 
{ 
    // Your properties here 
    // Your parameterless constructor 
} 

なお、デフォルト(パラメータなし)コンストラクタ以外のすべてと:

ただし、このようにあなたが[Serializable]MSDN)などのWebサービスにインスタンスを渡したいそのうち、あなたのクラスをマークする必要がある場合がありますシリアル化中にプロパティが削除されます。これは、オブジェクトをWebサービスに渡すときに.NETオブジェクトを渡すのではなく、(シリアル化された)データを渡すためです。 対応するタイプは、サービス契約によって利用可能である必要があります。

関連する問題