【问题标题】:run windows service from asp.net web page从 asp.net 网页运行 windows 服务
【发布时间】:2009-12-01 12:11:55
【问题描述】:

我有一个用vb编写的网页,我需要启动一个将安装在服务器中的windows服务。

【问题讨论】:

    标签: asp.net windows-services


    【解决方案1】:

    您首先需要添加对 System.ServiceProcess 程序集的引用。以下代码大致为您提供了您想要做的事情(我在下面使用了一个名为 messageLabel 的 Label 控件):

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.ServiceProcess;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class StartService : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string serviceName = "Remote Registry";
            try
            {
                StartServiceByName(serviceName);
            }
            catch (Exception ex)
            {
                messageLabel.Text = ex.ToString().Replace("\r\n", "<BR>");
                return;
            }
            messageLabel.Text = String.Format("Service {0} started.", serviceName);
        }
    
        private void StartServiceByName(string serviceName)
        {
            ServiceController serviceController = new ServiceController(serviceName);
            serviceController.Start();
        }
    }
    

    但是,还有一件事 - 您需要让网络服务器有权更改此服务 - 这通常只能通过管理权限来完成。

    【讨论】:

      【解决方案2】:

      尚未测试。

      请尝试是否有效。您可以在 btn 点击事件中添加以下代码。

      dim controller as new ServiceController
      
      controller.MachineName = "." //try the machine name
      controller.ServiceName = "service name"
      dim status as string = controller.Status.ToString
      
      ' Stop the service
      controller.Stop()
      
      ' Start the service
      controller.Start()
      

      【讨论】:

        【解决方案3】:

        根据网站帐号所拥有的权限,您可以启动/停止服务。

        除了其他人已经回答的内容,您还可以使用适当的参数来壳出NET START

        只要授予权限,您也可以对远程计算机执行此操作(我认为它必须是域帐户)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-05-16
          • 2012-01-14
          • 1970-01-01
          • 2013-04-27
          • 1970-01-01
          • 2020-03-04
          相关资源
          最近更新 更多