none
任意の場所におけるWebサービスについて RRS feed

  • 質問

  • VS2005で開発を行っております。

    クライアントPC同士で、SOAP通信を実現したいと考え、
    MSDN技術文書で情報を取得中です。

    MSDN技術文書で下記の資料を見つけました。

    ■.NET Framework 2.0 Beta 1 における Web サービス開発者向け新機能
    (任意の場所におけるWebサービスについて)
    http://www.microsoft.com/japan/msdn/vs05/vstudio/wsnetfx2.aspx

     .NET Framework2.0では、http.sys + HttpListenerクラスによって、
     従来のASMXサービスをホストすることがさらに容易になります。

    この資料を読んで、

    IIS(ISAPI)を起動せず
    .NETFramework2.0のHttpListnerクラスによって、ASP.NETのWebサービスASMXが実行できる。(WinXP/SP2もしくはWindowsServer2003のみ)

    と解釈したのですが、間違っているでしょうか?

    2007年3月16日 5:34

回答

  • 以下のURLの中をみるとHttpRuntime.ProcessRequestにSimpleWorkerRequestを渡してますが、これはASP.NETの根本的な仕組みそのものを呼び出してるということです。

    http://weblogs.asp.net/pglavich/archive/2005/09/04/424392.aspx

    なので、ASP.NETのページ(含むasmx)ができていれば、そのページをこの仕組みから呼び出すことでそのまま動くはずですね。
    HttpListenerでは試したことないですけど、Cassiniがこんな形だったはずなので、きちんと動くんじゃないでしょうか。

    2007年3月16日 10:03

すべての返信

  • できるはずですね。

    http://weblogs.asp.net/pglavich/archive/2005/09/04/424392.aspx
    http://west-wind.com/weblog/posts/3748.aspx

    このあたりがサンプルになります。
    日本語にはなってなかったかもしれませんが、MSDNマガジンにもこのあたりについての記事があったはず。

    2007年3月16日 6:12
  • どっとねっとふぁんさん、HttpListenerクラスの情報をありがとうございます。

    引き続き質問がありますが、おつきあいいただけないでしょうか?
    VS2005製品によるSOAP通信開発は、
    ASP.NETのWebサービスASMXを実行することで実現できる。 と推察していますが、

    HttpListenerクラスを利用してASP.NET、ASMX Web サービスをホストする ことは容易ではないのでしょうか?

    もしかして、文書中で”容易に”と表現されている部分は、
    マイクロソフト社製の新しいツール等が存在しているのでしょうか?

    2007年3月16日 7:36
  • 以下のURLの中をみるとHttpRuntime.ProcessRequestにSimpleWorkerRequestを渡してますが、これはASP.NETの根本的な仕組みそのものを呼び出してるということです。

    http://weblogs.asp.net/pglavich/archive/2005/09/04/424392.aspx

    なので、ASP.NETのページ(含むasmx)ができていれば、そのページをこの仕組みから呼び出すことでそのまま動くはずですね。
    HttpListenerでは試したことないですけど、Cassiniがこんな形だったはずなので、きちんと動くんじゃないでしょうか。

    2007年3月16日 10:03
  • 返信遅れまして、申し訳ありません。
    ご教示ありがとうございます。

    教えていただいたリンク先のソースをしっかり読みこんでいませんでした。
    また、お恥ずかしいことにSimpleWorkerRequestクラスの存在を知りませんでした。

    >Cassiniがこんな形だったはずなので、きちんと動くんじゃないでしょうか。
    まさにCassiniでして、『こういうものを作りたい』とイメージする元となっていました。
    ちなみにCassiniのソースは公開されているのでしょうか?

    2007年3月19日 0:10
  • Cassiniは以下からダウンロードできます。
    http://www.asp.net/Projects/Cassini/Download/Default.aspx?tabindex=0&tabid=1

    2000行ぐらいだったので全部読んでみるのもよいかと。
    ただ、重要なのはHttpRuntime.ProcessRequestにSimpleWorkerRequestを渡すとこぐらいです(w

    #あと一箇所はなんだったっけな。

    .NET Framework 2.0上で再コンパイルすればCassiniでASP.NET 2.0のアプリケーションが動くことは確認しています。
    昔、こんな記事を書いたことも(w
    https://codezine.jp/a/article/aid/127.aspx

     

    2007年3月19日 1:37
  • またまた返信遅れまして申し訳ありません。

    Cassiniの情報ありがとうございます。

    #あと一箇所はなんだったっけな。
    とても気になりますが、なんでしょう・・・

    https://codezine.jp/a/article/aid/127.aspx
    このようなことも可能なのですね!勉強になります。

    2007年3月21日 0:03