如何在服务器上使用wcf控制台应用程序?

时间:2014-02-25 04:07:29

标签: c# wcf wcf-hosting

我做了一个基本的wcf控制台应用服务,通过pipes.net进行通信。该逻辑适用于我的主要应用程序,但出于业务原因我需要将其分开

它执行其中一个

   Uri baseAddress = new Uri(@"net.pipe://localhost/Server");
   Uri baseHttpAddress = new Uri(@"http://localhost:9080");

   using (var host = new ServiceHost(typeof(CPLConversionService), baseAddress, baseHttpAddress))
   {
       host.Open();
       Console.WriteLine("The CPLConversionService is available. ");

       Console.WriteLine("Press <Enter> to stop the service. ");
       Console.ReadLine();

       host.Close();
    }

无论如何,将它放在网络服务器上让它长期运行是可以的吗?我应该以某种形式使用IIS来管理它吗?

2 个答案:

答案 0 :(得分:1)

Windows Service中的托管更适合自动启动功能的生产使用。 在IIS中托管更容易,并提供更好的可维护性和配置。 使用App Fabric的IIS可以更好地监控您的服务。

有关选择托管方式https://stackoverflow.com/a/9823604/2898090

的帮助,请参阅此答案

答案 1 :(得分:0)

Windows Service比控制台应用程序更好。您可以定义服务的启动属性(用户,自动启动,依赖关系和错误行为)。