Search code examples
wcfmonocentoswinemod-mono

Hosting WCF service on linux


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.


Solution

  • 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.