- - PR -
リモートサーバー接続方法
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-06-27 14:48
現在、Windowsアプリ内にて、リモートサーバー接続処理を行おうとしています。
ですが、「基になる接続が閉じられました:リモート サーバーに接続できません」 とのエラー内容になり、接続がうまくできません。 //リモートサーバに接続 AbstractServer abstractServer = (AbstractServer)Activator.GetObject( typeof(AbstractServer),this.cmbServerName.Text); と行うまでは処理は問題なく動作します。 その後、 paths = abstractServer.GetPaths(); とメソッドを呼び出すと上記エラーとなってしまいます。 色々と原因を探してみたのですが、machine.configファイルにてプロクシの設定を 行う必要があるとのことでした。 ですが、Activator.GetObjectにてサーバーまでの接続はOKになっているので、 その後の処理にて接続が閉じられましたとの原因がわかりません。 初心者で申し訳ないですが、ご教授よろしくおねがいします。 ※またちなみにActivator.GetObjectメソッドとは 「指定された型と URL が示す既知のオブジェクト用にプロキシを作成します」 とのことですが、実行マシン自体にプロキシ機能ができあがるという意味 なのでしょうか? | ||||
|
投稿日時: 2005-06-27 16:38
AbstractServer が、サードパーティのミドルウェアな感じがしますが、
そちらのクラスリファレンスには、 「Machine.Configに対してプロキシサーバの設定を行ってください」 と書かれているのでしょうか? もしそうなのであれば、 あとはMSDNライブラリで設定方法を見れば解決ですね。 AbstractServerと環境について、もう少しヒントをください。 ※追記 Googleにて検索をしたところ AbstractServer の検索結果のうち 日本語のページ 約 103 件 とでました。 _________________ ASP++ by Moo http://moo-asp.net/ [ メッセージ編集済み 編集者: Moo 編集日時 2005-06-27 16:40 ] | ||||
|
投稿日時: 2005-06-27 16:49
追加ヒントです。
[HOWTO] .NET Framework を使用して、XML Web サービス クライアントからプロキシ サーバーを介して接続できるように構成する方法 http://support.microsoft.com/default.aspx?scid=kb;ja;307220 <defaultProxy> 要素 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpgenref/html/gngrfdefaultproxyelement.asp _________________ ASP/ASP.NETだいすき。 ASP++ by Moo http://moo-asp.net/ 日記は ほぼ毎日更新中 http://d.hatena.ne.jp/aspx/ | ||||
|
投稿日時: 2005-06-27 17:06
Mooさん、ご回答ありがとうございます。
AbstractServerについてですが、独自でabstractとして定義しているクラス名に なります。 ややこしい名前ですみません。他人作成アプリが動作しないので調査しています。 「Machine.Configに対してプロキシサーバの設定を行ってください」 ちなみに上記の内容についてですが、エラーメッセージをキーにWeb検索を行った ところ、http://support.microsoft.com/default.aspx?scid=kb;ja;JP307220 の設定が必要だと記述されていましたので、そうなのかなと考えていました。 また現在の実行環境についてですが、社内のLAN内にてローカルマシンを サーバー&クライアントとして行っています。 それでもプロキシの設定は必要なのかと疑問に思っています。 -----Server HttpChannel chan = new HttpChannel(8888); ChannelServices.RegisterChannel(chan); RemotingConfiguration.RegisterWellKnownServiceType(typeof(Impl.Server), "test", WellKnownObjectMode.SingleCall); -----Cliant AbstractServer abstractServer = (AbstractServer)Activator.GetObject( typeof(AbstractServer), "http://localhost:8888/test"); | ||||
|
投稿日時: 2005-06-27 17:37
こんにちは。
>「基になる接続が閉じられました:リモート サーバーに接続できません」 >また現在の実行環境についてですが、社内のLAN内にてローカルマシンを >サーバー&クライアントとして行っています。 >それでもプロキシの設定は必要なのかと疑問に思っています 逆にIEのプロキシ設定をはずしてみたらどうなるでしょうか? 前に、IEのプロキシ設定がされていることにより同一のエラーが発生したことがあります。 あと、気になるのですが、Impl.ServerクラスとAbstractServerクラスは同一のものでしょうか? (Impl.Serverクラスの親クラスがAbstractServer?) 生成は成功しているということなので、多分そうだと思われますが、違ってたらそのあたりに原因があるのかも。 | ||||
|
投稿日時: 2005-06-27 17:50
noderaさん、ご回答ありがとうございます。
>逆にIEのプロキシ設定をはずしてみたらどうなるでしょうか? >前に、IEのプロキシ設定がされていることにより同一のエラーが発生したことが >あります。 試してみましたが、エラーメッセージは同一でした。 また、Machine.Configファイルにて <proxy usesystemdefault="false" proxyaddress="http://[サーバーIP]:8888/" bypassonlocal="true" /> <bypasslist> <add address="http://[接続クライアントIP]/" /> </bypasslist> と設定してみましたが、現象は変わりませんでした。。 >あと、気になるのですが、Impl.ServerクラスとAbstractServerクラスは同一のもので >しょうか? >(Impl.Serverクラスの親クラスがAbstractServer?) Impl.ServerクラスがAbstractServerクラスを継承しています。 これまでリモート処理を行ったことがなかったですが、 かなり複雑ですね。でも色々ログを見ていますが、原因はプロクシだと 言っている方がおおいですし。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=20252&forum=7 | ||||
|
投稿日時: 2005-06-27 18:15
詳しくは知りませんが、気になるとしたら ・サーバ側のobjectUriは、testなんて名称だけでOKでしたっけ?(フルのUriが必要ではない?) ・サーバは何で動かしているのでしょうか?(サービス?) IISだといろいろ制約もあります。 ・クライアントでのチャネルのセットアップはどうやってるんでしょうか? て辺りですかね。 | ||||
|
投稿日時: 2005-06-27 20:10
こんにちは。
もう一点気になったところを。 >HttpChannel chan = new HttpChannel(8888); ここを、 HttpServerChannel chan = new HttpServerChannel(8888); にしてみたらどうなるでしょうか? |
1