第二章:WCF基礎(3)

1734 ワード

もっと読む
原文:http://www.wcftutorial.net/Introduction-to-WCF.aspx
契約とサービスはContracts and Service Hostを管理します.
契約Contracts
WCFにおいて、すべてのサービスは契約によって公表されるものであり、契約はプラットフォームが無関係であり、サービスの役割を説明するものであり、WCFには4つの主要な契約がある.
サービス契約サービス
サービス契約は、このサービスが提供できる操作を説明します.例えば、郵便番号で都市の気温を確認するサービスです.このサービスはサービス契約です.
サービス契約を通じてもっと多くのことを知る.
データ契約Data Contract
データ契約はクライアントに公開されたデータの種類を説明しています.サービスの受け入れと応答を定義したデータの種類、int、stringの種類はXML schemaで定義されていますので、クライアントは認識できますが、カスタマイズされたクラスやデータの種類はクライアントに識別できません.例えば、Employeeタイプはデータ契約を使用しています.クライアントに承認を通知したり、カスタムタイプを返したりすることができます.
データ契約によってもっと多くのことを知る.
メッセージ契約Message Contract
WCFは、デフォルトのSOAPプロトコルを使用して、クライアントとサービスを通信させます.これがあなたの要求に合わないなら、カスタムメッセージフォーマットができます.メッセージ契約属性を使用して実現できます.
メッセージ契約を通じてもっと多くのことを知る.
失敗契約Fault Cotract
クライアントアプリケーションの呼び出しに参加して、サーバーに問題が発生しました.問題の具体的な原因を得たいですが、どうやってこのエラー情報を得られますか?このためには、エラー契約を使用しなければなりません.エラーが発生した時に文書をクライアントに提供します.
誤った契約でもっと多くのことを知る.
サービス
サービス委託先Service Hostは、ホストWCFサービスのプロセスであり、登録終了点は、ファイルポイントのプロファイルをロードし、settingを適用し、System.ServiceModel.ServiceHost名前空間にこれらのタイプがあり、これらのオブジェクトはWCF自己委託サービスで作成されます.
以下の例は、コンソールアプリケーションを用いて、ホストからWCFサービスを作成します.

//Creating uri for the hosting the service  
Uri uri = new Uri("http://localhost/CategoryService");  
//Creating the host object for MathService  
ServiceHost host = new ServiceHost(typeof(CategoryService), uri);  
//Adding endpoint to the Host object  
host.AddServiceEndpoint(typeof(ICategoryService),new WSHttpBinding(), uri);  
host.Open(); //Hosting the Service  
Console.WriteLine("Waiting for client invocations");  
Console.ReadLine();  
host.Close();