Learn All About WCF Interview Questions
1) 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
– For WCF, DataContractSerializer is the default serializer
– Compare to XMLSerializer it is faster
– It is used for simple schemes
XMLSerializer
– XMLSerializer is not a default serializer
– XMLSerializer is slower
– 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