徐芊芊 发表于 2013-1-2 22:42:08

WCF注册Windows Service

<div id="cnblogs_post_body">问题:
    在前面创建的WCF的HelloWorld程序,我们把WCF的服务寄宿到了Host这个控制台项目中了。现在你想将WCF的服务寄宿到Windows服务中。
解决过程:
<ol> 删除原来Host控制台项目,然后在solution上右键,新建一个WindowService项目。如下图:http://pic002.cnblogs.com/images/2012/440208/2012082914213429.png
对MyFirstWindowsService项目添加对Contracts项目、Service项目和System.ServiceModel的引用。
将MyFristWindowsService项目中的Class1.cs文件重命名为HelloHost.cs,然后打开这个文件,里面代码如下:
<div class="cnblogs_code" >http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gifhttp://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gifHelloHost.cs<div id="cnblogs_code_open_15c00651-f85b-4b16-ac96-5295e4cfcdef" class="cnblogs_code_hide">namespace MyFirstWindowsService{    partial class HelloHost : ServiceBase    {      private ServiceHost _host;      public ServiceHost Host      {            get { return _host; }            set { _host = value; }      }      public HelloHost()      {            InitializeComponent();      }      protected override void OnStart(string[] args)      {            // TODO: Add code here to start your service.            Host = new ServiceHost(typeof(HelloWorld));            Host.Open();      }      protected override void OnStop()      {            // TODO: Add code here to perform any tear-down necessary to stop your service.            if (Host != null)            {                Host.Close();                Host = null;            }      }    }}    g
页: [1]
查看完整版本: WCF注册Windows Service