创建寄宿在Windows服务中的WCF服务

时间:2022-05-24 04:03:08

1、创建Windows服务项目

创建寄宿在Windows服务中的WCF服务

2、Server1改名为你想要的名称,比如WinServer

创建寄宿在Windows服务中的WCF服务

3、在项目中新建一个WCF文件夹,用于存放wcf服务文件。

创建寄宿在Windows服务中的WCF服务

创建寄宿在Windows服务中的WCF服务

创建寄宿在Windows服务中的WCF服务

注:在WcfServer类的上面还要添加 [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]

4、WCF服务文件建好后,系统会添加一个App.config的文件,打开此文件,我们进行相应的修改。

创建寄宿在Windows服务中的WCF服务

创建寄宿在Windows服务中的WCF服务

我们修改baseAddress地址: <add baseAddress="http://localhost:8733/Service/" />

创建寄宿在Windows服务中的WCF服务

5、在WCF服务文件中添加自己的业务类,我这里只演示了一个写日志的操作。

创建寄宿在Windows服务中的WCF服务

创建寄宿在Windows服务中的WCF服务

1)windows服务启动后,如果WCF服务DoWork接口被调用后,会触发我写的那个timer ,timer每隔5秒执行一次,并将timer实例传送到Business类中去。

2)Business里面是个写日志的操作,将时间写入txt文件中。当文件大于1024*1024*2时。timer结束执行。

6、将WCF服务写入Windows服务的入口处,同时注意将windows服务名称定义好。

创建寄宿在Windows服务中的WCF服务

7、WinService的设计页面中,右击“添加安装程序”

创建寄宿在Windows服务中的WCF服务

8、系统会添加ProjectInstaller.cs文件。

创建寄宿在Windows服务中的WCF服务

9、右击“serviceProcessInstaller1” --属性  Account 选择 “LocalSytem”

创建寄宿在Windows服务中的WCF服务

10、右击“serviceInstaller1” ---属性 Description 和属性DisplayName

创建寄宿在Windows服务中的WCF服务

注意ServiceName服务名称,与上面WinServer里面服务名称一致

创建寄宿在Windows服务中的WCF服务

11、重新生成项目,debug和release模式自己任选。

12、打开bin文件夹debug/release下面。

创建寄宿在Windows服务中的WCF服务

将C:\Windows\Microsoft.NET\Framework\v4.0.30319下面的InstallUtil.exe 复制过来

创建寄宿在Windows服务中的WCF服务

创建寄宿在Windows服务中的WCF服务

13、新建“安装服务.bat”,“卸载服务.bat” 批处理文件。

创建寄宿在Windows服务中的WCF服务

创建寄宿在Windows服务中的WCF服务

卸载服务内容

%~dp0InstallUtil.exe /uninstall %~dp0WindowsServiceForWCFDemo.exe
pause

安装服务内容

%~dp0InstallUtil.exe %~dp0WindowsServiceForWCFDemo.exe
pause

注意:%~dp0 是代表当前路径。

14、以管理员身份运行安装服务.bat进行安装服务。

注意:必须是管理员身份,不然会安装不成功的。

创建寄宿在Windows服务中的WCF服务

现在我们打开服务看下有没有,看到没,安装成功了。现在我们再来启动一下,就可以用了。

创建寄宿在Windows服务中的WCF服务

15、下面我们访问 一下WCF服务地址: http://localhost:19015/Service/

创建寄宿在Windows服务中的WCF服务

好了,可以访问了。

16、我们再搞个客户端,调用 一下那个接口,看看能否打印出日志文件。

创建寄宿在Windows服务中的WCF服务

创建寄宿在Windows服务中的WCF服务

创建寄宿在Windows服务中的WCF服务

创建寄宿在Windows服务中的WCF服务

Demo源码下载

链接:http://pan.baidu.com/s/1hr7vaio 密码:fww3

OK。打完收功~