Хостинг службы WCF в linux

есть ли способ размещения службы WCF в Linux. Я читал о вине, но я не видел никакого примера хостинга службы WCF с ним.

P. S: Я пробовал mono и mod_mono, но безрезультатно.

2 ответов


вы можете разместить его в автономном консольном приложении, например:

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 ();
        }
    }
}

здесь GreeterWcfService - это сам класс службы WCF и IGreeterWcfService является контрактом на обслуживание.

полный рабочий пример решения в GitHub - с отдельными проектами для сервиса, хостинга и клиента. Проверить его.


это возможно, но вы должны обратиться к этой ссылке для понимания текущего состояния и известных проблем -http://www.mono-project.com/docs/web/wcf/. Теперь он ограничен. Для EG. если вы хотите использовать WSHttpBinding в настоящее время не поддерживается.