0

IIS でホストされるサービスを作成する必要があります。このサービスには、文字列型のパラメーターを 1 つ持つ関数があります。この関数は Json データを受け取ります。このサービスを使用するクライアントは、次のような URL でこのサービス メソッドにアクセスできる必要があります。

http://[local]host/Myservice/mymethod

サービス初心者です。asp.net 4.0 と VS 2010 を使用しています。質問は次のとおりです。

  1. SOAPサービスまたはWCFサービスを作成する必要があります(WCFはSOAPできないと思います)

  2. WCF サービスを使用する必要がある場合、どのタイプの WCF サービスを使用しますか? RESTサービス、データサービス(おそらくJSONサービスも)など、いくつかのタイプのWCFサービスがあることがわかりました。

  3. このテンプレートを使用して WCF サービスを作成しました。これを使用するのは良いですか: http://visualstudiogallery.msdn.microsoft.com/fbc7e5c1-a0d2-41bd-9d7b-e54c845394cdデータ コントラクトなどを作成する必要がないため、または http:// www.dotnetspark.com/kb/3189-create-rest-service-wcf-40-step-by-step.aspx web.config を変更してエンドポイントを手動で変更する必要がないためですか?

  4. このサービス メソッドは、json.net を使用して json を解析し、いくつかの値を取得してから、それらをデータベースに追加して電子メールを送信します。WCF データ サービスが必要ということですか?

提案してください。

よろしく、 アシフ・ハメド

4

1 に答える 1

1

まず最初に、WCFSOAP 分野で非常に強力です。実際、当初は SOAP ベースのバインディングのみをサポートしていました。

サービスとそのメソッドを「自動検出」できるようにしたい場合、SOAP は強力な候補です。SOAP には十分に確立されたメタデータ システム (WSDL および XSD 標準を使用) があるため、クライアントは基本的にサービスの場所を指定するだけで、そのサービスが実行できること、期待されるパラメーターなどの完全な説明を取得できます。また、SOAP I have a service with x methodsメタファーに基づいているため、サービス メソッドとそのパラメーターを主な設計項目として使用します。

一方、SOAP はあまり広く利用されていません。ほとんどのデスクトップ システムでは利用できますが、電話やタブレットなどのほとんどのモバイル デバイスでは実際には利用できません。

REST は HTTP のみを使用するため、どこでも利用できるため、より多くのクライアントにアクセスできます。webHttpBindingまた、特に JSON を使用しており、サービスがかなり単純化されているように見えるため (単一のパラメーターを使用した単一の呼び出しのみ)、これは REST (WCFまたは ASP.NET Web に基づくサービス) により適している可能性があります。 API)。

ただし、REST は基本的にリソースに基づいています。たとえば、REST のメソッドやメソッド パラメータについて話しているのではなく、リソースを操作しています。したがって、さまざまな HTTP 動詞 (GET、PUT、POST、DELETE) を使用し、話している URI はリソース(それが何であれ) を表します。

したがって、新しいリソース(新しいデータベース レコードなど) をPOST するようにシステムをモデル化できる場合は、REST を使用できます。データベースに新しい行を追加するにはPOST、リソース コレクションを表す URI を呼び出します。

POST  /host/app/MyResourceCollection

HTTP 呼び出しの投稿本文に実際に新しい行を作成するために必要なデータを提供します。

あなたの要件は少し矛盾しています:

  • サービスメソッドを持つという考えはSOAPの方が適しているようです
  • JSON を使用するという考えは、REST に適しています。

REST とは何か、およびその使用方法について理解を深めるために、Jon Flanders によるこの優れた MSDN 記事 An Introduction To RESTful Services With WCFを読むことをお勧めします。それがあなたのニーズに合っているかどうかを確認してください。

于 2013-03-24T11:01:48.207 に答える