0

Visual Studio 2010を使用してWebサービスを作成しましたが、Webサービスは2つの整数とstopwachを受け取ります。パラメーターの1つには、nexの例に示すように、ステートメントとoutステートメントも含まれています。

 public double[][] Parameters(int N_ele, int N_carac, Stopwatch inic, out Stopwatch ini_final)

Visual StudioでWebアプリケーションを作成する場合、Webサービスを呼び出すためにWeb参照を作成する必要があります。Webサービスを呼び出すとき、次のコードを使用しました。

webclient.Serv1 service = new webclient.Serv1();
int element, caracteristic;
System.Diagnostics.Stopwatch time_sent = new System.Diagnostics.Stopwatch();
System.Diagnostics.Stopwatch time_respond = new System.Diagnostics.Stopwatch();
servicie.Parameters(ele, caract,time_sent, out time_respond);

Visual Studioのマークとエラーは、System.Diagnostics.StopwatchをApplication1.webclient.Serv1.Stopwatchに変換できません。

また、outステートメントにも同じエラーがあります。エラーの理由とその解決方法を見つけるのに役立つ場合があります。また、2つの異なるWebアプリケーションを使用して、C#、Visual Studio、.NETFramework4および3を使用しています。

4

2 に答える 2

2

両方ともという名前の2つのクラスを扱っていますStopwatch。1つはSystem.Diagnostics名前空間にあり、もう1つは名前空間にありApplication1.webclient.Serv1ます。Stopwatchすべてのインスタンスが同じタイプであることを確認してくださいStopwatch

于 2013-01-23T15:56:24.627 に答える
0

簡単な答え:それはできません。

長い答え:

VSプロジェクトでWebサービスを参照すると、Webサービスによって宣言されたクラスのプロキシクラスが作成されます。

これは、WSパラメーターでクラスSystem.Diagnostics.Stopwatchを公開すると、クライアント参照がStopwatchのローカルプロキシクラス(この場合はApplication1.webclient.Serv1.Stopwatch)を作成することを意味します。

したがって、サーバー側がStopwatchクラスを宣言しているクライアント側でSystem.Diagnostics.Stopwatchを渡すことはできません。

このプロキシクラスにパブリックデータメンバー以上のものが含まれているとしたら、私は驚きます。

于 2013-01-23T16:02:48.137 に答える