创建两个WebMethod。
1.启动Tomcat方法
1 /// <summary> 2 /// 启动权限系统 3 /// </summary> 4 /// <returns>true:成功;false:失败</returns> 5 [WebMethod] 6 public bool StartPM() 7 { 8 try 9 {10 // 创建进程启动信息 11 ProcessStartInfo sinfo = new ProcessStartInfo(AppDomain.CurrentDomain.BaseDirectory + "start.bat");12 // 获取系统环境变量 13 IDictionary dics = Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Machine);14 foreach (string key in dics.Keys)15 {// 将系统环境变量加入新进程环境变量中 16 if (sinfo.EnvironmentVariables.ContainsKey(key)) continue;17 sinfo.EnvironmentVariables.Add(key, dics[key].ToString());18 }19 // 不需要从系统外壳程序创建,直接从文件创建 20 sinfo.UseShellExecute = false;21 Process.Start(sinfo);22 }23 catch (Exception ex)24 {25 //TODO: 写日志 26 return false;27 }28 return true;29 }
2.关闭Tomcat方法
1 /// <summary> 2 /// 关闭权限系统 3 /// </summary> 4 /// <returns>true:成功;false:失败</returns> 5 [WebMethod] 6 public bool StopPM() 7 { 8 try 9 {10 // 创建进程启动信息 11 ProcessStartInfo sinfo = new ProcessStartInfo(AppDomain.CurrentDomain.BaseDirectory + "stop.bat");12 // 获取系统环境变量 13 IDictionary dics = Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Machine);14 foreach (string key in dics.Keys)15 {// 将系统环境变量加入新进程环境变量中 16 if (sinfo.EnvironmentVariables.ContainsKey(key)) continue;17 sinfo.EnvironmentVariables.Add(key, dics[key].ToString());18 }19 // 不需要从系统外壳程序创建,直接从文件创建 20 sinfo.UseShellExecute = false;21 Process.Start(sinfo);22 }23 catch (Exception ex)24 {25 //TODO: 写日志 26 return false;27 }28 return true;29 }
为了方便以后配置我有新建了两个bat文件胸围。在这两个文件中分别做调用Tomcat的startup.bat和shutdown.bat的操作。具体如下:
1.start.bat
1 K:\apache-tomcat-6.0.30\bin\startup.bat
2.stop.bat
1 K:\apache-tomcat-6.0.30\bin\shutdown.bat