DOBON.NET DOBON.NETプログラミング掲示板過去ログ

クライアント側での制御について

環境/言語:[C#,VisualStudio2005,.NET Framework2.0]
分類:[ASP.NET]

いつもお世話になっております。
私は上記のホームページで、C#のwebサービスの作成を行い、動きもある程度確かめました。
しかし、自分の思っている事が出来なくて困っています。
複数のクライアントに一つだけサーバーがあった時に、
クライアントによって、DBの接続環境を変えたいのです。
サーバーにORACLEで3つ(本番用、テスト用、結合テスト用)のDBの構成があり、
クライアントAはテスト用、
クライアントBは本番用、
クライアントCは結合テスト用、
というような感じで、接続するDBを変えたいのです。
(データソース、接続名、パスワードを振り分ける?)
しかし、ここのホームページを見る限りでは、DBの接続先を決める権利を持っているのは、サーバー側のweb.config。
なので、クライアント毎で違う場所に繋ぐという事が出来ません。
クライアント毎に違う環境に繋ぎたい場合にはどうすればいいのでしょうか?
いろいろな企業にお勤めの方で、このような状況ってあんまりないのでしょうか?
A店ではまだテスト段階、B店では本番稼動みたいな・・・
アドバイスよろしくお願いします。
(クライアントにDBがあるような場合は、接続する時にユーザ名、パスワードを入れて振り分けれているのですが、今回のようなサーバーにある場合はどうすればいいのか?分かりません。)
Webサービスを複数立てればよろしいかと。
アドバイスありがとうございます。
複数立てるという事は、接続先を変えるたびに、プログラムに手を加えるという事でしょうか?
よろしくお願いします。
■No19939に返信(彩さんの記事)
???リンク先の内容はWebサービスを1つ立てる方法なのでは?

繰り返すと複数作成できませんか?
アドバイスありがとうございます。
なんとなく分かってきました。
もしかして、先にサーバー側で、今回なら3つ(本番用、テスト用、結合テスト用)用意しておくという事でしょうか?
そして、クライアント側を変更する?という事なのでしょうか?
ソースが3つに膨らむ?ってことなのでしょうか?
コピーするとか?なのでしょうか?
まだ私が分かってないかもしれないので、ご指摘よろしくお願いします。
そういうことですよ。
Web.configによる切り替えでテストと本番を切り替えられるとしましょう。
Web.configを置く単位で複数用意しないといけないことがわかると思います。
もちろんすべてのパラメータにTESTとか渡せばいいでしょうけど、それって違うよねぇ?
アドバイスありがとうございます。
「もちろんすべてのパラメータにTESTとか渡せばいいでしょうけど、それって違うよねぇ?」
これってどういう意味でしょうか?
あと、やっぱり今回ならソースを3つ用意するってやり方しかないのでしょうか?
コピーをしたとして、変更があった場合、3つ変更しないといけないのですよね?
(自分がまだ分かっていないだけかもしれませんが・・・)
例えば、ホームページでのSQLステートメントの箇所でOrder句が必要になったなどという場合、どれか変更してコピーして、配置していくという形を取るのですよね?
もっとスマートなやり方ってないのでしょうか?
質問ばかりですみませんが、よろしくお願いします。
(もう一度作り直して、頭を整理して考えてみます)

DOBON.NET | プログラミング道 | プログラミング掲示板