Hosting WCF service on linux

satishsingh2230 picture satishsingh2230 · Jul 10, 2014 · Viewed 18.1k times · Source

Is there Any way of hosting WCF service on Linux. I read about wine but i didn't see any example of hosting WCF service with it.

P.S : I have tried mono and mod_mono but to no avail.

Answer

shturm picture shturm · May 30, 2015

You can host it in a stand-alone console application like so:

using System;
using System.ServiceModel;
using Service;

namespace Host
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            Console.WriteLine ("WCF Host!");
            var binding = new BasicHttpBinding ();
            var address = new Uri ("http://localhost:8080");
            var host = new ServiceHost (typeof(GreeterWcfService));
            host.AddServiceEndpoint (
                typeof(IGreeterWcfService), binding, address);
            host.Open ();

            Console.WriteLine ("Type [Enter] to stop...");
            Console.ReadLine ();
            host.Close ();
        }
    }
}

Where GreeterWcfService is the WCF service class itself and IGreeterWcfService is the service contract.

Full working example solution in GitHub - with separate projects for the service, the hosting and a client. Check it out.