网站维护包括,app网站开发案例,互联网软件开发是什么工作,阿里云这么建设网站一. 服务端 如下图—新建项目—经典桌面—Windows服务—起名svrr2. 打到server1 改名为svrExecSqlInsert 右击对应的设计界面#xff0c;添加安装服务目录结构如图 3. svrExecSqlInsert里有打到OnStart()方法开始写代码如下 /// summary/// 服务开启操作/// /su… 一. 服务端 如下图—新建项目—经典桌面—Windows服务—起名svrr 2. 打到server1 改名为svrExecSqlInsert 右击对应的设计界面添加安装服务目录结构如图 3. svrExecSqlInsert里有打到OnStart()方法开始写代码如下 /// summary/// 服务开启操作/// /summary/// param nameargs/paramprotected override void OnStart(string[] args){Timer tmInsert new Timer();tmInsert.Interval 5000;//5秒的定时器tmInsert.Elapsed TmInsert_Elapsed;tmInsert.Enabled true;}/// summary/// 定时执行数据库插入/// /summary/// param namesender/param/// param namee/paramprivate void TmInsert_Elapsed(object sender, ElapsedEventArgs e){using (SqlConnection con new SqlConnection(server.;uidsa;pwd123;databaseoa)){using (SqlCommand cmd new SqlCommand()){con.Open();cmd.Connection con;cmd.CommandText insert into UserInfo(UserName,Password,dutyid,RegTime,email)values(test,123,0,GETDATE(),ab.com);cmd.CommandType CommandType.Text;cmd.ExecuteNonQuery();}}} 到现在服务端就完成了 选通过命令安装后 看看数据库中的变化 已经生成了很多数据了 二. 服务控制端 有时我们同一个服务可能通过配置文件等对不同实例的数据库进行操作而服务又要安在同一台电脑上不要说用的人员了就是.net开发的人员对这一些命令也有点头大那么就有了控制断这个先建一个窗体应用程序 1. 将form1改为frmMain 放一个menuStrip 管理服务安装、卸载、刷新、操作服务启动、停止、退出 再加一下dataGridView Dockfill 2. 增加一个ServiceInfo类 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace SvrUI
{public class ServerInfo{public string SvrName { get; set; }public string SvrDisplayName { get; set; }public string SvrDescription { get; set; }public string SvrPath { get; set; }}
} 3在frmMain窗体中加入如下代码来显示计算机中的服务列表 如果要显示自己安装的服务可通过安半时限制服务前缀或后缀过滤一下 public frmMain(){InitializeComponent();IniControls();IniData();}/// summary///1. 添加控件/// /summaryprivate void IniControls(){DataGridViewCell cellTemple new DataGridViewTextBoxCell();dataGridView1.Columns.AddRange(new DataGridViewColumn[] {new DataGridViewTextBoxColumn() { NameSvrName,HeaderText服务名称,DataPropertyNameSvrName,CellTemplatecellTemple },new DataGridViewTextBoxColumn() { NameSvrDisplayName,HeaderText服务显示名称,DataPropertyNameSvrDisplayName,CellTemplatecellTemple},new DataGridViewTextBoxColumn() { NameSvrDescription,HeaderText服务描述名称,DataPropertyNameSvrDescription,CellTemplatecellTemple},new DataGridViewTextBoxColumn() { NameSvrStatus,HeaderText服务状态,DataPropertyNameSvrStatus,CellTemplatecellTemple},new DataGridViewTextBoxColumn() { NameSvrPath,HeaderText 服务路径,DataPropertyNameSvrPath,CellTemplatecellTemple,AutoSizeMode DataGridViewAutoSizeColumnMode.Fill}});}/// summary///2. 初始化数据/// /summaryprivate void IniData(){//显示服务列表 如果只控制自己安装的服务 可以在安装时限制显示的名称 如显示名称必须包含MySvr:// var svrs ServiceController.GetServices().Where(svrsvr.DisplayName.Contains(MySvr));var svrs ServiceController.GetServices();//显示电脑的全部服务
ListServiceInfo lst new ListServiceInfo();foreach (var svr in svrs){string description ;string cpath GetWindowsServiceInstallPath(svr.ServiceName, out description);lst.Add(new ServiceInfo() { SvrName svr.ServiceName, SvrDisplayName svr.DisplayName, SvrStatus svr.Status.ToString(), SvrDescription description, SvrPath cpath });}dataGridView1.DataSource lst;}/// summary/// 获取服务安装路径/// /summary/// param nameServiceName/param/// returns/returnspublic string GetWindowsServiceInstallPath(string ServiceName, out string description){string key SYSTEM\CurrentControlSet\Services\ ServiceName;string path Registry.LocalMachine.OpenSubKey(key).GetValue(ImagePath).ToString();description (Registry.LocalMachine.OpenSubKey(key).GetValue(Description) ?? ).ToString();//替换掉双引号 path path.Replace(\, string.Empty);return path;}private void 退出ToolStripMenuItem_Click(object sender, EventArgs e){Close();} View Code 效果如图 其他代码待续。。。。 转载于:https://www.cnblogs.com/SoftWareIe/p/9732760.html