Click here to Skip to main content
Click here to Skip to main content

Tagged as

Go to top

Creating WCF Service without SVC File

, 2 Oct 2013
Rate this:
Please Sign up or sign in to vote.
How to create a 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 System Windows 7
IDE Visual Studio 2012
Language C#
Web Server IIS/ 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 the code snippet in WelcomeService.cs:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    namespace WelcomeService
    {
        public class WelcomeService : IWelcomeService
        {
            public string GreetWithMessage(string name)
            {
                return name + " Welcome to mithunvp.com !!";
            }
        }
    }

ASP.NET Empty Web Site as Hosting Application for WCF

  • Add ASP.NET Empty web site to the 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 it's 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. The following image shows that <ServiceActivations> is the 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 the below settings to make WCF service work without SVC:
    <configuration>
     <system.web>
     <compilation debug="true" targetFramework="4.5" />
     <httpRuntime targetFramework="4.5" />
     </system.web>
     <system.serviceModel>
     <serviceHostingEnvironment >
     <serviceActivations>
     <add factory="System.ServiceModel.Activation.ServiceHostFactory" 
    relativeAddress="./WelcomeServiceHost/WelcomeService.svc"
     service="WelcomeService.WelcomeService" />
     </serviceActivations>
     </serviceHostingEnvironment>
     <behaviors>
     <serviceBehaviors>
     <behavior>
     <serviceMetadata httpGetEnabled="true"/>
     </behavior>
     </serviceBehaviors>
     </behaviors>
     </system.serviceModel>
    </configuration>
  • 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.

The post Creating WCF service without SVC file appeared first on Mithunvp.com.

License

This article, along with any associated source code and files, is licensed under The Creative Commons Attribution-Share Alike 3.0 Unported License

Share

About the Author

I am Mithun Pattankar, a Software Professional on day job and blogger at nights. My interests are in Microsoft Technologies like DotNet, Visual Studio, ASP.NET, WPF, WCF, C#, HTML5
 
URL: www.mithunvp.com
Follow on   Twitter   Google+

Comments and Discussions

 
-- There are no messages in this forum --
| Advertise | Privacy | Mobile
Web02 | 2.8.140916.1 | Last Updated 2 Oct 2013
Article Copyright 2013 by Mithun Pattankar
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid