1

私は WCF サービスを作成し、それをセルフホスティングでホストしました。このサービスにはメタデータが公開されていません。

最初の質問

  1. Visual Studio の [サービス参照の追加] で使用できますか? うまくいけば、そうではありません。
  2. 手動プロキシを作成することでそれを使用できますか、つまりChannelFactory<ServiceContract>....?うまくいけば、はい。

2 番目のシナリオでは、クライアントは .Net でなければなりませんよね?

つまり、.net 以外のプラットフォームで wcf サービスを使用するには、そのメタデータを公開する必要があるということですか?

メタデータなしで WCF サービスを使用したり、Ajax クライアントで使用したり、Java クライアントと言ったりすることはできませんか??

4

2 に答える 2

3

WCF サービスを使用するには、次の 3 つのオプションがあります。

  1. サービスが WSDL を公開する場合は、VS (または別のプラットフォームの同等のもの) から「サービス参照の追加」を使用します。WSDL を公開したくない場合は、WSDL を一時的に公開し、WSDL をファイルに保存し、それを任意のプラットフォームのユーザーに送信して、そこからプロキシを生成できます。WSDL を保存したらすぐにオフにすることができます。また、WSDL が公開されていない場合でも、Web サービスを不正アクセスから保護する必要があることに注意してください。

  2. これが .Net クライアントの場合、同じ Service Contract アセンブリでコンパイルし、ChannelFactory などを使用できます。

  3. どのプラットフォームも生の SOAP メッセージ (XML など) をサービスに送信できます。もちろん、彼らは正しいフォーマットが何であるかを知る必要があります。WSDL は役に立ちますが、それがなくても、動作するサンプルがあればそれを模倣できます。

于 2013-04-22T17:51:49.427 に答える
1

WCF は REST (Representational State Transfer) サポートを提供し、JavaScript (AJAX)、Java、Objective C、Web ブラウザーなどの非 .NET クライアントでそれを使用できます。

基本的に、WCF REST はメソッドを公開し、HTTP プロトコルを介してデータを転送し、すべての HTTP 操作 (GET、POST、PUT、および DELETE) をサポートします。この機能により、プラットフォームに依存しないだけでなく、メタデータを公開する必要もありません。

WCF REST の詳細については、以下のリンクを参照してください。

WCF を使用した RESTful サービスの概要

WCF REST プログラミング モデルの概要

WCF Rest と WCF SOAP の比較

RESTful WCF サービス API の作成: ステップ バイ ステップ ガイド

于 2013-04-23T05:20:10.797 に答える