asp.net中编写 windows 服务程序如何调用

asp.net中编写 windows 服务程序如何调用,第1张

大致的步骤如下(以C#.Net 为例):

1、新建 >>项目 >>Visual C# >>Windows >>Windows服务;

2、一般服务程序中我们都需要使用到 Timer 组件,建议不要使用 System.Windows.Forms.Timer 组件,因为它可能会产生不可预料的“罢工”问题;应使用 System.Timer 组件;可以在 Service 的 OnStart 过程中编写如下:

protected override void OnStart(string[] args)

{

Timer timer = new Timer(1000)

timer.Elapsed += new ElapsedEventHandler(DoAnything)//使用Elapsed事件,其中DoAnything就是你需要处理的事情

timer.AutoReset = true

timer.Enabled = true

}

private void DoAnything(object sender, System.Timers.ElapsedEventArgs e)

{

.... 你需要做的事情写这里

}

3、写完之后,最终是需要将它安装到 Windows 服务中,因此需要在现有工程中 添加 >>新建项 >>安装程序类,取名叫:ProjectInstaller.cs;在类中还需要两个控件支持,分别是:serviceInstaller 与 serviceProcessInstaller,这两个组件在 .net 2.0 包中已经包含,只是默认不显示在工具箱中,可以从工具箱中增加“选择项”,将它们找出来。其中serviceInstaller可以设置服务的显示名称、说明、运行方式(建议设置成自动:Automatic)等信息;serviceProcessInstaller用于设置服务运行的账户身份,推荐设置成:LocalSystem(本地账户);

一切就绪后,Ctrl + Alt +B 编译程序,服务程序基本上就到此完成!此时服务程序只是编译好了,并未最终安装到WINDOWS 服务中,还需要写一段批处理用于注册该服务程序,以下提供批处理文件代码。

(注册与启动)

==================

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe 服务程序绝对路径

net start 服务名

(卸载与停止)

==================

net stop 服务名

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe -u 服务程序绝对路径

由于服务必须从服务控制管理器的上下文中运行,而不是从 Visual Studio .NET 中运行,因此调试服务不像调试其他 Visual Studio 应用程序类型那样简单。若银圆要调试服务,必须首先启动服务,然后将一个调试器附加到正在运行服务的进程中。然枯雀后可以使用 Visual Studio 的所有标准调试功能来调试应用程序。

调试 OnStart 方法可能比较困难,因为 Windows 服务管理器将所有尝试启动服务的时间限制在 30 秒内。调试 Windows 服务。

安装您的服务。

可从服务控制管理器、“服务器资源管理器”或代码启动服务。

在 Visual Studio 中,从“调试”菜单中选择“进程”,出现“进程”锋败塌对话框,单击“显示系统进程”。

在“可用进程”区域内单击服务的进程,然后单击“附加”。

提示 此进程将与服务的可执行文件同名,出现“附加到进程”对话框。

选择任意适当选项,然后单击“确定”关闭对话框。注意 现在已处于调试模式。

设置要在代码中使用的任意断点。

访问服务控制管理器并 *** 纵服务,并发送停止、暂停和继续命令以命中您的断点。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12248728.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存