相关疑难解决方法(0)

Create Windows service from executable

Is there any quick way to, given an executable file, create a Windows service that, when started, launches it?

windows windows-services

320
推荐指数
7
解决办法
62万
查看次数

无法在计算机上启动服务'.'

我正在尝试使用PowerShell创建和启动Windows服务.

创建服务但是当我使用除一个特定名称之外的各种名称时无法启动该服务.

当我使用exe文件的名称创建服务时,它可以启动,但是当我给它一个不同的名称时,它无法启动.

我以管理员身份运行PowerShell脚本.

有什么建议吗?

function InstallService(
    [string] $MsDeployHost,
    [string] $ServiceName,
    [string] $DisplayName,
    [string] $ServicePath,
    [string] $ServiceDescription,
    [object] $Credential) {
    if($MsDeployHost -eq "local") {        
        New-Service -name $ServiceName -binaryPathName $ServicePath -displayName $ServiceName -StartupType Automatic
        Start-Service -name $ServiceName
    } else { ....  
Run Code Online (Sandbox Code Playgroud)

我得到的错误:Start-Service:由于以下错误,无法启动服务'Service1(Service1)':无法在计算机'.'上启动服务Service1.

当我尝试手动启动时,我得到:"错误1053:服务没有及时响应启动或控制请求"

powershell

9
推荐指数
3
解决办法
2万
查看次数

Windows调度程序API与控制台应用程序Vs .net调度程序工具与asp.net mvc在我的asp.net MVC中执行长时间运行的进程

我正在开发一个在Windows 2012和iis-8下部署的asp.net mvc-5 Web应用程序.我的asp.net mvc有很多CRUD操作,它们在我的asp.net mvc中作为动作方法实现.但我的asp.net mvc web应用程序将进行预定的长时间运行的网络扫描过程,网络扫描主要做以下步骤: -

  1. 从我们的数据库中获取我们的服务器和虚拟机列表.
  2. 使用Rest API从第三方工具获取每个服务器和vm的扫描用户名和密码.
  3. 调用一些powershell脚本来检索服务器和vms信息,例如网络信息,内存,名称等.
  4. 使用Rest API使用扫描信息更新我们的ERP系统.

现在我使用以下方法做了一个试点项目: -

  • 我在asp.net mvc中定义了一个Model方法来完成上述4个步骤.
  • 然后我安装hangfire工具,它将在预定义的调度程序上调用scan方法.
  • 我还在我的asp.net mvc中创建了一个View,它允许用户设置hangfire计划设置(这需要在主机服务器上进行IIS重置以获取新的设置).

现在我对150个服务器进行了测试扫描,大约需要40分钟才能完成,并且运行良好.我唯一注意到的是,如果我将计划设置为在非工作时间运行(在IIS上没有活动),那么hangfire将无法调用该作业,并且在第一次请求完成后,错过的作业将跑.我通过定义一个每15分钟调用一次IIS的Windows任务来克服这个限制,以保持应用程序池的正常运行,并且运行良好...

现在我正在阅读的另一种方法就是按照以下方式进行:

  1. 我可以创建一个单独的控制台应用程序来进行扫描,而不是在asp.net mvc中定义模型方法来进行扫描.
  2. 然后在我的asp.net mvc中创建一个视图,允许用户在windows任务调度程序中创建和调度任务.我可以通过集成Windows任务调度程序API来实现.
  3. 此Windows任务将调用控制台应用程序.

现在我不确定哪种方法更好,为什么?现在一般来说,长时间运行/后台作业不应该在iis下运行..但同时将这些长时间运行的进程定义为控制台应用程序并在Windows任务调度程序中调用这些应用程序将在我的Web应用程序上创建额外的依赖项.将应用程序从移动服务器移动到另一个服务器时(例如从测试到实时)将增加额外的工作量.除此之外,我还读到了诸如hangfire,quartz等工具的设计,允许在IIS中运行长时间运行的任务并消除它们需要使用任务调度程序创建控制台应用程序和调度这些控制台应用程序..所以有人可以就此提出建议吗?

asp.net iis asp.net-mvc console-application asp.net-mvc-5

8
推荐指数
1
解决办法
1504
查看次数