1.建立3个工程,分别为form(调用wcf服务),wcf服务,windowsservicehost(寄存wcf服务),如下图
2.在WcfService的服务实现中,编写产生随机数的代码
3.在WindowsServiceHost(这是一个Windows服务)工程中,打开ProjectInstaller.cs,查看serviceInstaller1的属性,将ServiceName修改为你所需要的服务名称(我这里是LR)。查看serviceProcessInstaller1的属性,修改Account为LocalSystem。
修改Service1.cs源代码如下:
publicpartialclassLR:ServiceBase{privateServiceHost_host=newServiceHost(typeof(MyService));publicLR(){InitializeComponent();}protectedoverridevoidOnStart(string[]args){_host.Open();}protectedoverridevoidOnStop(){_host.Close();}}4.编辑WindowsServiceHost的App.config文件如下内容:
5.生成WcfService和WindowsServiceHost工程,然后以管理员身份打开VS2010命令行工具,进入到生成后的WindowsServiceHost程序目录,开始创建windows服务。
1)输入installutilWindowsServiceHost.exe回车(安装windows服务,我这里安装完成后的服务名为“LR”,如下图)
2)输入netstartLR回车(启动LR服务,当然,也可以通过服务管理器来启动)
7.在form1.cs中编写form调用服务的代码:
OK,编译运行即可看到form从寄存于windows服务中的wcf服务读取的随机数: