0

Visual Studioのエンドポイントを持つWebサービスhttp://api.domain_a.com/を使用しており、サービスを簡単かつシンプルに操作するためのプロキシクラスを簡単に生成できます。

代替テキスト

しかし、ユーザーが自分のサービスを使用できる(そして自分のデータではなく自分のデータにアクセスできる)方法を作成したいと思います。また、サービスのベースURLをオンザフライで変更できる方法があるかどうかを知りたいと思いました。 。

例として

プロジェクトにWeb参照を追加してプロキシクラスを生成しますが、リクエストごとに、ユーザー設定を取得するユーザー名があります(魔女にはURLが含まれています)。http://domain_b.com/apiWeb参照を追加するときに使用した元のプロキシの代わりにドメインを使用している生成されたプロキシ?

手動でサービスを呼び出す必要がありますか?XMLデータの送受信?または、新しいURLを指すために使用できる「スイッチ」がありますか?

4

1 に答える 1

1

.NET 2.0を使用している場合、これらの各プロキシクラスにはURLプロパティが必要です。URLプロパティを更新するだけで、プロキシは新しいサービスをポイントします。

WCFを使用している場合、状況は少し複雑になりますが、それほど複雑ではありません。エンドポイントアドレスを変更する必要があります。

var service = new ServiceClient();
string url = "http://domain_b.com/api";
EndpointAddress newAddress = new EndpointAddress(url);
service.Endpoint.Address = newAddress;
于 2010-11-01T13:16:48.747 に答える