如何调用windows Service,提供服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何调用windows Service,提供服务相关的知识,希望对你有一定的参考价值。

写一个WINDOWS服务定期调用webservice中的方法。

1、先建一个WebService(ASP.NET Web 服务应用程序)

2、建这个WebService的虚拟目录

3、执行生成一个文件

C:\\Program Files\\Microsoft Visual Studio 8\\VC>wsdl /language:C# /out:c:\\myProxyClass.cs http://hostServer:88/ImportData.asmx?WSDL
这个工具(方法)是针对一个webservice生成一个能动态调用的类
language:C#-----C#语言输出

c:\\myProxyClass.cs-----这个是生成的文件存在本地的文件名和路径

http://hostServer:88/ImportData.asmx-----是虚拟目录运行时的地址


4、创建一个windows服务程序(新建项目->左侧选windows->右侧选windows服务),然后把生成的文件引入到windows服务的程序中

5、写调用事件(BeginImportUFData)

6、完成后编译生成一下,这时就会在此windows服务程序的bin文件夹下生成一个exe文件(如:MyNewService.exe
)

7、按以下方式安装

安装:C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\InstallUtil.exe 绝对路径\\MyNewService.exe
卸载:C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\InstallUtil.exe -u 绝对路径\\MyNewService.exe

例如:(用dos命令窗口执行)

安装:C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\InstallUtil.exe E:\\chengxu\\MyNewService\\MyNewService\\bin\\Debug\\MyNewService.exe
【然后显示:正在安装程序集,最后显示:“提交”阶段成功完成】
卸载:C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\InstallUtil.exe -u E:\\chengxu\\MyNewService\\MyNewService\\bin\\Debug\\MyNewService.exe
【最后提示:卸载完成】

启动、停止服务是window操作,找到管理-->服务 操作
参考技术A 控制面板_管理工具

Laravel创建 Service Provider 测试实例

从某种意义上说,服务提供者有点类似HTTP控制器,HTTP控制器用于为相关路由注册提供统一管理,而服务提供者用于为相关服务容器提供统一绑定场所,此外服务提供者还可以做一些初始化启动操作。Laravel的每个核心组件都对应一个服务提供者,可以这么说,服务提供者是Laravel的心脏,是Laravel的核心,核心组件类在这里完成注册、初始化以供后续调用。

既然这么重要,那么如何在自己的Laravel应用中定义和使用服务提供者呢?


1、定义服务类

我们这里先定义一个绑定到容器的测试类TestService,为了对类的定义加以约束,我们同时还定义一个契约接口TestContract

技术分享图片

定义TestService如下:

技术分享图片


2、创建服务提供者

接下来我们定义一个服务提供者TestServiceProvider用于注册该类到容器。创建服务提供者可以使用如下Artisan命令:

技术分享图片

该命令会在app/Providers目录下生成一个TestServiceProvider.php文件,我们编辑该文件内容如下:

技术分享图片


3、注册服务提供者

定义完服务提供者类后,接下来我们需要将该服务提供者注册到应用中,很简单,只需将该类追加到配置文件config/app.phpproviders数组中即可:

技术分享图片


4、测试服务提供者

这样我们就可以在应用中使用该服务提供者了,为了测试该服务提供者我们首先使用Artisan命令创建一个资源控制器TestController

php artisan make:controlle TestController --resource  // 该命令创建资源控制器

然后在路由配置文件routes.php中定义路由:


技术分享图片

最后去TestController中编写测试代码:

技术分享图片

注意: 在控制器中的构造函数中

技术分享图片

返回TestService实例是因为在TestServiceProvider中进行了绑定,在callback函数中实例化了TestService这个类并且返回

然后我们去浏览器中访问http://laravel.app:8000/test,分别测试使用App::make和依赖注入解析绑定类调用callMe方法的输出,结果一样,都是

技术分享图片

好了,大功告成,是不是很简单?!


以上是关于如何调用windows Service,提供服务的主要内容,如果未能解决你的问题,请参考以下文章

windows service调用FindWindow 怎么不行

如何在Windows系统下安装多个Redis实例

tomcat启动时怎么禁止调用dubbo的service-CSDN论坛

Web Service概述

在 Windows 10 服务中模拟当前用户

Laravel创建 Service Provider 测试实例