Is there any quick way to, given an executable file, create a Windows service that, when started, launches it?
我正在尝试使用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:服务没有及时响应启动或控制请求"
我正在开发一个在Windows 2012和iis-8下部署的asp.net mvc-5 Web应用程序.我的asp.net mvc有很多CRUD操作,它们在我的asp.net mvc中作为动作方法实现.但我的asp.net mvc web应用程序将进行预定的长时间运行的网络扫描过程,网络扫描主要做以下步骤: -
现在我使用以下方法做了一个试点项目: -
现在我对150个服务器进行了测试扫描,大约需要40分钟才能完成,并且运行良好.我唯一注意到的是,如果我将计划设置为在非工作时间运行(在IIS上没有活动),那么hangfire将无法调用该作业,并且在第一次请求完成后,错过的作业将跑.我通过定义一个每15分钟调用一次IIS的Windows任务来克服这个限制,以保持应用程序池的正常运行,并且运行良好...
现在我正在阅读的另一种方法就是按照以下方式进行:
现在我不确定哪种方法更好,为什么?现在一般来说,长时间运行/后台作业不应该在iis下运行..但同时将这些长时间运行的进程定义为控制台应用程序并在Windows任务调度程序中调用这些应用程序将在我的Web应用程序上创建额外的依赖项.将应用程序从移动服务器移动到另一个服务器时(例如从测试到实时)将增加额外的工作量.除此之外,我还读到了诸如hangfire,quartz等工具的设计,允许在IIS中运行长时间运行的任务并消除它们需要使用任务调度程序创建控制台应用程序和调度这些控制台应用程序..所以有人可以就此提出建议吗?