どっとねっとふぁん

C# Tips And Samples
in 検索

Webサービス内のクラスを、Windowsアプリケーションで使用するには

最新の投稿は、投稿日時: 02-16-2006, 3:29 午後 投稿者: ono です。スレッドには 1 件の返答があります。
投稿のソート: 前へ 次へ
  •  02-15-2006, 8:41 午後 589

    Webサービス内のクラスを、Windowsアプリケーションで使用するには

    立て続けの投稿でお騒がせ致します。
    .NET経験1ヶ月未満の初心者です。

    Webサービスの、「App_Code」の下にフォルダを作り、DataSetやクラスを作成しました。

    これらをWindowsクライアント側から参照させるのに、
    using
    は使用しないのでしょうか。
    Web参照の設定をした***.asmxに対しては「using」で参照できるのですが。。。

    Webサービス(サーバ)側で定義したクラスをクライアントアプリケーションで受け取る場合、どのようにusing/includeしたらよいのでしょうか。

    以下は、上記の問題から派生した疑問です。
    データベース接続はサーバで行うものだから、DataSetの定義もサーバ側(Webサービス側)で定義すべきと思うのですが、そうするとクライアントでDataSetを受け取れない(型が分からない)ことになってしまいます。

    クライアント側のプロジェクトに、DataSetを定義することは可能ですが、それは正しい方法ではないように思います。サーバ側の実装を変更した場合、クライアント側のDataSetの実装を入れ替えることになるからです。

    DataSetは、どちら側で作成するものでしょうか。
    それとも、私は根本的な勘違いをしているのでしょうか。
  •  02-16-2006, 3:29 午後 594 返答元: 589

    Re: Webサービス内のクラスを、Windowsアプリケーションで使用するには

    Webサービスとクライアントで受け渡しをするのはDataSetということで考えます。

    #独自に作成したクラスとかだとまたちょっと違うところもあるので。

    この場合、DataSetはサーバ側で定義します。
    Webサービスはそのサーバ側で定義されたDataSetを返すようにします。
    そうすると、クライアント側でWebサービスの参照をしたとき、サーバ側で定義されたDataSetの定義についてもクライアント側に渡されて、スタブと呼ばれるサーバとやりとりするクラスが生成されます。

    #確かそうだったはず(w

    クライアント側ではあたかもサーバ側のDataSetをそのまま利用しているような感覚でコーディングできます(実際にはスタブの定義を利用しているわけですが)。

    サーバ側でDataSetの定義を修正した場合、クライアント側ではWebサービスの参照をしなおします。
    こうすることでサーバ側とクライアント側のDataSetの定義の同期がとれます。

    なお、上記は自動的に生成されるDataSetの場合を考えています。
    このDataSetにパーシャルクラスを使って独自にメソッドを追加したりしている場合は、クライアント側でも同様の定義を追加する必要があります。

     


    あおい情報システム株式会社
     小野修司(どっとねっとふぁん)
RSS ニュースフィードで参照
SkinName:iroha_CS2
Powered by Community Server, by Telligent Systems