Creating WCF service without SVC file

Recently I came across WCF service without SVC file and was wondering how to achieve this. This post teaches us how to create SVC less WCF service.

.SVC files are used to host WCF service in IIS.

Software prerequisites
Operating SystemWindows 7
IDEVisual Studio 2012
Language C#
Web ServerIIS/ IIS Express
Level Basic knowledge of C# and Visual Studio 2012/ 2010
Also works on Windows Server 2008 R2, Visual Studio 2010, IIS 7

Creating WCF service without SVC file

  • Create blank solution with name “LearnWCF” with appropriate location.
  • Add class library project with name “WelcomeService”.

We are creating class library to understand service interface implementation better.

  • Add DLL reference “System.ServiceModel”, this provides classes related to the service model. We are one step closer making class library to WCF service.
  • Add an interface file “IWelcomeService.cs” to the project. Include “System.ServiceModel” namespace section and decorate the interface with [ServiceContract] attribute.
  • Add method “GreetWithMessage” decorating with [OperationContract] attribute. It accepts a string parameter “name” returning welcome message.

 

Service-Operational-Contracts

IWelcomeService Interface with Service & Operational Contracts

  • Create a class file “WelcomeService.cs” which will implement the IWelcomeService interface and only returns formatted string. Here’s code snippet in WelcomeService.cs

ASP.NET Empty web site as hosting application for WCF

  • Add ASP.NET Empty web site to same solution with name “WelcomeServiceHost”. Add Reference to the class library “WelcomeService” created above.
  • Let’s DEBUG this website to see that happens. This is because we don’t have hosting file in this empty web site and of course its not configured to show directory structure
ASP.NET host without SVC file

ASP.NET hosting WCF doesn’t contain SVC file

This is the main agenda of the article – Creating WCF service without SVC file. Following image shows that <ServiceActivations> is main setting that enables to access the WCF service.

web.config for SVC less WCF

System.ServiceModel’s settings in Web.config to activate SVC file

  • Update the ASP.NET site’s web.config with below settings to make WCF service to work without SVC

  •  DEBUG or RUN Empty website to verify WCF is service ready to be consumed.
wcf service ready with SVC

WCF service ready to be consumed with SVC link

System.ServiceModel’s ServiceActivations is responsible for creating WCF service without SVC file.

Leave a Reply