0

同一の WCF サービス (たとえば、WS1 と WS2) を持つ 2 つの別個のサーバーと、両方のサービスにアクセスする必要がある C# Mobile CF 2.0 プロジェクトがあります。

C# CF2.0 プロジェクトでこのようなことはできますか?

(...)

if (someCondition == true) 
{
   WS1 aux = new WS1();
}
else
{
   WS2 aux = new WS2();
}

aux.service(parameter1);

(...)

アクセスするサーバーに関係なく、同じ変数名を使用したいことに注意してください。問題は、条件ステートメントの外側で宣言する方法がわからず、条件ステートメントの内側で宣言すると、ローカル変数として宣言され、変数をパブリックまたはグローバルにする方法がわからないことです。

何か考えや助けをお願いします。

4

2 に答える 2

1

WCF サービスはまったく同じであり、異なるサーバーで実行されているだけなので、クライアント プロジェクトからそれらの 1 つ (たとえば WS1) へのサービス参照を追加するだけです。これにより、クライアント プロキシが生成されます。おそらく、「serviceX」のような一般的な名前も付けてください (X をアプリケーションに適したものに置き換えます)。

次に、クライアント構成ファイルで、作成したクライアント エンドポイントをコピーし、アドレスとエンドポイント名のみが異なる別のエンドポイントを追加します。各エンドポイントのエンドポイント名プロパティをそれぞれ「WS1」と「WS2」に設定したい場合があります。

次に、コードで次のようなことができるはずです。

(...)

serviceXClient aux = null;

if (someCondition == true) 
{
   aux = new serviceXClient("WS1");
}
else
{
   aux = new serviceXClient("WS2");
}

aux.service(parameter1);

(...)
于 2013-08-16T22:40:46.897 に答える