2

複数の入力とオブジェクトを受け取る複雑な WCF Rest サービスがあります。提供するデータが多すぎるため、Fiddler で HTTP POST を実行して単純に呼び出すことはできません (可能ですが、永遠に時間がかかります)。そのため、プロキシを使用してコードで実行したいと思います。.NET 4 WCF Rest Service のプロキシを生成する方法はありますか? それ以外の場合、サービスを簡単にテストできるようにするために何を提案しますか?

ありがとう。

4

4 に答える 4

8

WCF REST サービス用のプロキシを作成する標準的な方法はありません (REST 用の WSDL はありません。新しい標準の 1 つである WADL は広く採用されておらず、WCF はそれをサポートしていません)。テスト目的で、インターフェイスをクライアントと共有し、ChannelFactory<T> を使用してファクトリの Endpoint プロパティで適切な動作を設定するか、それを行うヘルパー クラス WebChannelFactory<T> を使用する必要があります。

インターフェイスが ITest と呼ばれると仮定すると、次のようになります。

Uri serviceUri = new Uri("http://my.service.com/endpoint");
WebChannelFactory<ITest> factory = new WebChannelFactory<ITest>(serviceUri);
ITest proxy = factory.CreateChannel();
Assert.AreEqual(9, proxy.Add(4, 5));
于 2011-05-16T21:34:03.417 に答える
1

現在、WCF RESTサービスを使用してプロキシを作成する標準的な方法はありませんが、RESTスターターキットの「XMLをタイプとして貼り付ける」ツールを使用してこれを行うことができます。これは、デフォルトのWCF / helpページに表示されるxmlから機能し、構造に一致して使用できるC#クラスを生成します。また、このビデオをチェックして、実際の動作を確認してください-3分で消費者向けTwitter

于 2011-05-17T12:06:17.707 に答える
0

非 RESTful WCF サービスの場合と同じ手順を使用して、プロキシを作成できます。

// Create the proxy
ChannelFactory<IContract> channelFactory = new ChannelFactory<IContract>("endpointName");
var restfulProxy = factory.CreateChannel();

// Invoke a method
var response = proxy.MyRestfulMethod("param1", "param2");
于 2011-05-16T20:56:00.430 に答える
-2

svcutil.exeは、呼び出し元のアプリケーションで使用できるプロキシ クラスを作成します。これにより、適切なメソッドを呼び出し、コードでパラメーターを渡すことができます。

于 2011-05-16T20:54:50.570 に答える