- - PR -
Web参照に対するインスタンスの一覧を取得する方法について
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-02-08 16:42
VisualStudio2005 C#
Oracle 9i ODP.NET 上記の環境で開発を行っております。 Windowsアプリケーションから、Webサービスを呼び出すために、 プロジェクトに対してWeb参照を追加しているのですが、実行時に 呼び出し先のURLを変える必要が有りまして、以下のように記述 しております。 WinProj.localhost.TestWS1 myTestWS1; myTestWS1 = new WinProj.localhost.TestWS1(); myTestWS1.Url = ServerPathString + "/ServerProjName/TestWS1.asmx"; WinProj.localhost.TestWS2 myTestWS2; myTestWS2 = new WinProj.localhost.TestWS2(); myTestWS2.Url = ServerPathString + "/ServerProjName/TestWS2.asmx"; WinProj.localhost.TestWS3 myTestWS3; myTestWS3 = new WinProj.localhost.TestWS3(); myTestWS3.Url = ServerPathString + "/ServerProjName/TestWS3.asmx"; 実際に接続に行くサーバーは同じで使用するWebServiceがWindowsアプリケーション毎に 異なるため、この辺りの処理を個々のWindowsアプリケーション毎に書くのではなく、 お約束のようなコードを貼り付けるだけで実装できないかと考えました。 イメージとしては、 1.自分のWindowsFormに存在するWebServiceに対するインスタンスの 一覧を取得する。 2.個々インスタンスのURLのサーバー部分を書き換える。 ソースコード編集時にthis.と入力すると、そのコード内のオブジェクトが 一覧で出てきてガイドになりますが、このような情報が実行時に取得できれば と思うのですが、何かご存知の方はいらっしゃいませんでしょうか? よろしくお願いします。 | ||||||||||||
|
投稿日時: 2007-02-08 18:22
タイトルが「一覧を取得する方法について」ということですが。
インスタンスは、おいてあるんでしょ?それが一覧じゃない? _________________ | ||||||||||||
|
投稿日時: 2007-02-08 18:50
確かにおっしゃるとおりなんですが、インスタンスのところは個別記述に 成ると思うんですけど、URL変更のところとかは、 foreach このクラスに定義されたインスタンス ___if (インスタンスのタイプがWeb参照だったら) ___{ ______Web参照に対してUrl変更とかの処理を行う。 ___} みたいな定型記述でいけるのではないかと思ったのですが、自分で 考えている段階では、でき無そうだなという感覚だったので、 聞いてみた次第です。 | ||||||||||||
|
投稿日時: 2007-02-08 22:09
前のもそうなんだけど、この、「このクラスに定義されたインスタンス」というのが、よくわかりません。 たとえば次のクラスで、「このクラスに定義されたインスタンス」とは、何を指しますか?
SampleClassA のインスタンスが生成されると、SampleClassA のインスタンスと、HogeClass のインスタンス、そして、コンストラクタ実行中に FileStream クラスのインスタンスが生成されます。 いったい、いつの時点で、どのインスタンスが取得したいのでしょう? と書くより、「スコープを把握していますか?」の方が良かったりするのかもしれない。。。 どっちにしても、「foreach このクラスに定義されたインスタンス」で、何を列挙したいのかがわからない。 _________________ | ||||||||||||
|
投稿日時: 2007-02-08 22:11
それとも、
どっかですべてのインスタンスを配列にしまっておけば、foreach で取り出せますよね? の方が良いのかな? _________________ | ||||||||||||
|
投稿日時: 2007-02-08 22:38
おそらくMy用語が多いと思うので仰っている事が殆ど理解できません。ですので見当違いの事を言ったらすみません。
の「インスタンス一覧」を「参照している Web サービスの一覧」と解釈します。つまり、Webサービスプロキシクラスの一覧と同義と捉えます。
「個々の Webサービスプロキシクラスのインスタンスの Url プロパティを http〜からドメイン部分まで書き換える」と解釈します。
インテリセンスの事でしょうか?ここは完全に理解できなかったので飛ばします。 と長々書きましたが、Visual Studio の Web 参照フォルダのプロパティで、Urlを「スタティック」にするか「ダイナミック」の指定ができるのはご存知でしょうか?それを使えば、App.config に Url を書けますがそれでは不十分ですか? _________________ 囚人のジレンマな日々 | ||||||||||||
|
投稿日時: 2007-02-09 16:49
Jittaさん。囚人さん。
もしかすると、何かいい手が有るかもと思ったのですが、やはり、 個別記述にすることにします。 アドバイスありがとう御座いました。 | ||||||||||||
|
投稿日時: 2007-02-09 18:32
わかった
リフレクションでプロパティやメソッドを一覧する感覚で、オブジェクトが参照するメモリを列挙したい、てか! そりゃ、無理でしょ!? _________________ |