Outils pour utilisateurs

Outils du site


cours:app_rep_orientees_service_2016_2017:lab_contract

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
cours:app_rep_orientees_service_2016_2017:lab_contract [2019/04/24 00:18]
tigli [Contracts in WCF]
cours:app_rep_orientees_service_2016_2017:lab_contract [2019/04/24 07:57] (Version actuelle)
tigli [References]
Ligne 1: Ligne 1:
 +
 +==== Few reminders about WCF ABC Model   ====
 +
 +The ABC of Windows Communication Foundation
 +
 +"​ABC"​ is the WCF mantra. "​ABC"​ is the key to understanding how a WCF service endpoint is composed. Think Ernie, Bert, Cookie Monster or Big Bird. Remember "​ABC"​.
 +
 +  * "​A"​ stands for Address: Where is the service?
 +  * "​B"​ stands for Binding: How do I talk to the service?
 +  * "​C"​ stands for Contract: What can the service do for me?
 +
 +Web services zealots who read Web Service Description Language (WSDL) descriptions at the breakfast table will easily recognize these three concepts as the three levels of abstraction expressed in WSDL. So if you live in a world full of angle brackets, you can look at it this way:
 +
 +  * "​A"​ stands for Address—as expressed in the wsdl:​service section and links wsdl:​binding to a concrete service endpoint address.
 +  * "​B"​ stands for Binding—as expressed in the wsdl:​binding section and binds a wsdl:​portType contract description to a concrete transport, an envelope format and associated policies.
 +  * "​C"​ stands for Contract—as expressed in the wsdl:​portType,​ wsdl:​message and wsdl:type sections and describes types, messages, message exchange patterns and operations.
 +
 +"​ABC"​ means that writing (and configuring) a WCF service is always a three-step process:
 +
 +  * You define a contract and implement it on a service
 +  * You choose or define a service binding that selects a transport along with quality of service, security and other options
 +  * You deploy an endpoint for the contract by binding it (using the binding definition, hence the name) to a network address.
  
 ===== Contracts in WCF ===== ===== Contracts in WCF =====
Ligne 14: Ligne 36:
  
 == Service contract and Operation Contract == == Service contract and Operation Contract ==
-[[http://​www.wcftutorial.net/​Service-Contract.aspx|Follow this tutorial for more details]] 
  
-== Data Contract == +Service contracts define the Interface ​for the service
-[[http://​www.wcftutorial.net/​Data-Contract.aspx|Follow this tutorial ​for more details]]+
  
-== Operation Contract ​==+An Operation Contract ​defines the method exposed to the client to exchange the information between the client and server. An Operation Contract describes what functionality is to be given to the client, such as addition, subtraction and so on.
  
 +[[http://​www.wcftutorial.net/​Service-Contract.aspx|Getting Started with this step by step tutorial]]
  
 +== Data Contract ==
 +Data Contracts define the data type for variables that are the same as get and set properties but the difference is that a Data Contract in WCF is used to serialize and deserialize the complex data. It defines how data types are serialized and deserialized. Using serialization,​ you can convert an object into a sequence of bytes that can be transmitted over a network. Using de-serialization,​ you reassemble an object from a sequence of bytes that you receive from a calling application. ​
 +
 +[[http://​www.wcftutorial.net/​Data-Contract.aspx|Getting Started with this step by step tutorial]]
  
 ==  Fault Contract == ==  Fault Contract ==
 ||| |||
  
-In WCF (Windows Communication Foundation), we will not expose ​exception ​directly to client if it occurs at service levelFault Contract is used to return error details to the other party i.eclient+A Fault Contract handles the exception and understands the cause of the error that occurs in the WCF service. When we develop a managed application or service, we will handle the exception ​using a try- catch block, but these exceptions handlers are technology-specific. 
 + 
 +[[http://​www.wcftutorial.net/​Fault-Contract.aspx|Getting Started with this step by step tutorial]]
  
 == Message Contract ==  == Message Contract == 
  
-DataContract has limited control over the SOAP message ​and all that control ​is related to contents inside body of the SOAP messageBut there are scenarios, when we need more control over SOAP message. ​So, MessageContract is the answer in such cases.+The default ​SOAP message ​format ​is provided by the WCF runtime for communication between the client and the serviceIf it does not meet your requirements then we can create our own message ​formatThis can be done using the Message Contract attribute.
  
 +==== Exercices on Contracts ====
  
-==== Tutorial ====+=== Exercice on DataContract,​ Service Contract and Operation Contract ​=== 
 +Create a calculator service that implement add and sub operations on complex numbers instead of numerical ones. 
 +This justifies to introduce DataContract for the Complex number Type. 
  
 === Exercice on Fault Contract === === Exercice on Fault Contract ===
-Create a simple calculator service with Add operation ​which throw general exception and send exception information from service to client with FaultException.+In the Add operationthrow general exception and send exception information from service to client with FaultException. 
 + 
  
-[[http://​www.wcftutorial.net/​Fault-Contract.aspx|Follow this tutorial for more details]] 
  
-=== Exercice on Message Contract === 
-[[http://​www.wcftutorial.net/​Message-Contract.aspx|Follow this tutorial for more details]] 
cours/app_rep_orientees_service_2016_2017/lab_contract.1556057896.txt.gz · Dernière modification: 2019/04/24 00:18 par tigli