Explain what is WCF?
WCF (Windows Communication Framework) is Microsoft framework to make inter-process communication easier. Through various means, it lets you do the communication like MS messaging Queuing, Services, Remoting and so on. It also allows you talk with other.NET apps, or non-Microsoft technologies (like J2EE).
2) Mention what are the main components of WCF?
Main components of WCF are
- Service: The working logic
- Host: The path where the data is saved. E.g., .exe, process, windows service
- Endpoints: The way the service is exposed to the outside world
3) Explain how does WCF works?
WCF follows the “Software as a Service” model, where all units of functionality are defined as services. For communication, each point is a portal or connection either with the client or other services. It is a program that exposes a collection of endpoints.
4) Explain what is the difference between ASMX web services and WCF?
The difference between WCF and ASMX or ASP.net web service is that ASMX is designed to send and receive messages using SOAP over HTTP only. While the WCF can exchange messages using any format over any transport protocol
5) Mention what is the endpoint in WCF and what are the three major points in WCF?
Every service must have an address that determines where the service is located, contract that defines what the service does and binding that tells how to communicate with the service.
- Address: It specifies the location of the service which will be like http://Myserver/Myservice. To communicate with our service client it will use this location
- Contract: It specifies the interface between the server and client. It’s a simple interface with some attribute
- Binding: It decides how two parties will communicate with each other in terms of transport and encoding and protocols
6) Explain how many types of contract does WCF defines?
WCF defines four types of Contracts
- Service Contracts
- Data Contracts
- Fault Contracts
- Message Contracts
7) What are the transport schemas does WCF supports?
It supports
- HTTP
- TCP
- Peer network
- IPC ( Inter Process Communication)
- MSMQ
8) Mention what are the ways of hosting a WCF service?
The ways of hosting a WCF service are
- IIS
- Self-Hosting
- WAS (Windows Activation Service)
9) Mention the address syntax and the different formats of WCF transport scheme?
Address syntax of WCF transport scheme is
[transport]:// [machine or domain] [: optional port] format
10) In WCF what are duplex contracts?
Duplex messaging or call-back is used in WCF to communicate with the client. Over different transport system Duplex messaging in WCF is done like TCP, Named pipe and even HTTP. Collectively this is known as duplex contracts in WCF.
11) Mention what are the different instance modes in WCF?
To a particular service instance WCF binds an incoming message request, so the available modes are
- Per Call: This instance is created for each call, efficient in terms of memory but need to maintain session
- Per Session: For a complete session of a user instance are created
- Single: One instance is created which is shared among all the users and shared among all. In terms of memory it is least efficient.
12) Explain what is a Service Proxy in windows Communication Foundation?
In WCF, a service proxy enables applications to interact with WCF service by sending and receiving messages. It’s a class that covers service details like service path, service implementation technology, platform and communication protocol and so on. So, when the application interact the service through proxy, it gives the impression that it’s communicating a local object.
13) Explain what is SOA?
SOA (Service Oriented Architectural) is a collection of services that determines how two computing entities will communicate with each other to achieve certain business functionality and also how one entity can work on behalf of another entity.
14) What are the types of Data Contracts in WCF?
There are two types of Data Contracts
- Data Contract: Attribute used to define the class
- Data Member: Attribute used to define the properties
15) What are the three types of transaction manager WCF supports?
The types of the transaction manager that WCF supports are
- Light Weight
- WS- Atomic Transaction
- OLE Transaction
16) List out the difference between XMLSerializer and the DataContractSerializer?
DataContractSerializer | XMLSerializer |
– For WCF, DataContractSerializer is the default serializer | – XMLSerializer is not a default serializer |
– Compare to XMLSerializer it is faster | – XMLSerializer is slower |
– It is used for simple schemes | – It is used for complex schemes |
17) Explain what are the MEPs available in WCF?
MEP stand for Message Exchange Pattern, three types of message exchanged patterns are allowed.
- Data Gram
- Request and Response
- Duplex
18) Name the namespace that is used to access WCF service?
System.ServiceModel is used to access WCF service
19) List out the types of binding available in WCF?
The types of binding available in WCF are
- BasicHttpBinding
- NetTcpBinding
- WSHttpBinding
- NetMsmqBinding
20) Explain what is DataContractSerializer?
The process of changing an object instance to a portable and transferable format is known as the Serialization, and serialization of data is referred as DataContractSerializer.
21) Mention what are the various address format in WCF?
The various address format in WCF are
- HTTP Address Format: à http:// local host:
- TCP Address Format:à net.tcp://local host:
- MSMQ Address Format:ànet.msmq://localhost:
22) What is REST and what is the problem with WCF REST and how it can be resolved?
REST stands for Representational State Transfer, for designing network application REST is used. It relies on a stateless, client server, cacheable communications protocol. The reason behind creating WCF is to support SOA and not REST. It requires a lot of configuration in order to create HTTP REST service using WCF. To overcome this tedious task, ASP.NET web API was introduced.
23) List out what are the different isolation levels provided in WCF?
The different isolation levels provided in WCF are
- Read Uncommitted
- Read Committed
- Repeatable Read
- Serializable
What is contracts in WCF?
In WCF, all services expose contracts. The contract is a platform-neutral and standard way of describing what the service does.WCF defines four types of contracts.
1. Service contracts : Describe which operations the client can perform on the service.
2. Data contracts : Define which data types are passed to and from the service. WCF defines implicit contracts for built-in types such as int and string, but we can easily define explicit opt-in data contracts for custom types.
3. Fault contracts : Define which errors are raised by the service, and how the service handles and propagates errors to its clients.
4. Message contracts : Allow the service to interact directly with messages. Message contracts can be typed or untyped, and are useful in interoperability cases and when there is an existing message format we have to comply with.
What is address in WCF and how many types of transport schemas are there in WCF?
Address is a way of letting client know that where a service is located. In WCF, every service is associated with a unique address. This contains the location of the service and transport schemas.
WCF supports following transport schemas
1. HTTP
2. TCP
3. Peer network
4. IPC (Inter-Process Communication over named pipes)
5. MSMQ
The sample address for above transport schema may look like
http://localhost:81
http://localhost:81/MyService
net.tcp://localhost:82/MyService
net.pipe://localhost/MyPipeService
net.msmq://localhost/private/MyMsMqService
net.msmq://localhost/MyMsMqService
What is the difference WCF and Web services?
1. Web services can only be invoked by HTTP. While Service or a WCF component can be invoked by any protocol and any transport type.
2. Second web services are not flexible. But Services are flexible. If you make a new version of the service then you need to just expose a new end point. So services are agile and which is a very practical approach looking at the current business trends.
How can we host a service on two different protocols on a single server?
Let’s first understand what this question actually means. Let’s say we have made a service and we want to host this service using HTTP as well as TCP.
You must be wondering why to ever host services on two different types of protocol. When we host a service it’s consumed by multiple types of client and it’s very much possible that they have there own protocol of communication. A good service has the capability to downgrade or upgrade its protocol according the client who is consuming him.
Let’s do a small sample in which we will host the ServiceGetCost on TCP and HTTP protocol.
Once we are done the server side coding its time to see make a client by which we can switch between the protocols and see the results. Below is the code snippet of the client side for multi-protocol hosting
How does WCF work?
Follows the ‘software as a service’ model, where all units of functionality are defined as services.
A WCF Service is a program that exposes a collection of Endpoints. Each Endpoint is a portal (connection) for communication with either clients (applications) or other services.
Enables greater design flexibility and extensibility of distributed systems architectures.
A WCF application is represented as a collection of services with multiple entry points for communications.
What are the main components of WCF?
1.Service: The working logic or offering, implemented using any .Net Language©.
2.Host: The environment where the service is parked. E.g. exe, process, windows service
3.Endpoints: The way a service is exposed to outside world.
Explain transactions in WCF.
Transactions in WCF allow several components to concurrently participate in an operation. Transactions are a group of operations that are atomic, consistent, isolated and durable. WCF has features that allow distributed transactions. Application config file can be used for setting transaction timeouts.
What are different isolation levels provided in WCF?
The different isolation levels:
1. READ UNCOMMITTED: – An uncommitted transaction can be read. This transaction can be rolled back later.
2. READ COMMITTED :- Will not read data of a transaction that has not been committed yet
3. REPEATABLE READ: – Locks placed on all data and another transaction cannot read.
4. SERIALIZABLE:- Does not allow other transactions to insert or update data until the transaction is complete.
How do I serialize entities using WCF?
LINQ to SQL supports serialization as XML via WCF by generating WCF serialization attributes and special serialization specific logic during code-generation. You can turn on this feature in the designer by setting serialization mode to ‘Unidirectional’. Note this is not a general solution for serialization as unidirectional mode may be insufficient for many use cases.
What is End point ?
Every service must have Address that defines where the service resides, Contract that defines what the service does and a Binding that defines how to communicate with the service. In WCF the relationship between Address, Contract and Binding is called Endpoint.
The Endpoint is the fusion of Address, Contract and Binding.
its a wonderful post that you are giving to us.I am really happy to inform you that its a very nice post and you are explaining it in a very understanding form.Thank you very much for your great work.Custom essay writing service is the better service that helps students for their academic course while giving more and effective tips for writing works.
ReplyDeleteThank you very much..
Delete