尝试了下将服务寄宿在window 服务上。具体步骤如下

整个解决方案截图

WCF宿主Window Service Demo

一、创建window 服务

     Wcf.WinService

     

namespace Wcf.WinService
{
    public partial class CalService : ServiceBase
    {
        public ServiceHost serviceHost = null; //服务宿主

        public CalService()
        {
            InitializeComponent();
            base.ServiceName = "WCF.ServiceHostByWindowService";
        }

        protected override void OnStart(string[] args)
        {
           
            if(serviceHost != null)
            {
                serviceHost.Close();
            }
            serviceHost = new ServiceHost(typeof(Cal));
            serviceHost.Open();          
            base.OnStart(args);
        }

        protected override void OnStop()
        {
            if (serviceHost != null)
            {
                serviceHost.Close();
                serviceHost = null;
            }
            base.OnStop();
        }
    }
}
window 服务代码

相关文章: