gpt4 book ai didi

c# - 服务没有及时启动 - c# windows 服务

转载 作者:行者123 更新时间:2023-11-30 22:13:48 24 4
gpt4 key购买 nike

我有一个 Windows 服务,我可以使用 installutil 在我的本地机器上安装它,没问题。

现在,必须在服务器上安装此服务。我将所有文件复制到服务器并运行相同的命令,将服务设置为以本地用户帐户登录,当服务启动时我收到一条错误消息“登录失败”- 好吧,也许是用户帐户问题。

所以我将服务登录更改为本地系统帐户。我启动该服务,但被告知“该服务未及时响应启动或控制请求”。

所以我在谷歌上搜索并尝试了各种解决方案,但都无济于事。所以我开始思考也许是 OnStart 方法中的某些东西坏了(即使我有从未记录过的记录调用)。所以我从 OnStart 事件中删除了所有代码,但服务仍然无法启动,我得到了“及时时尚”错误。

那么我现在在哪里?我相信这可能是由于我在项目中定义的引用。为了对此进行测试,我从 VS2012 创建了一个新的 Windows 服务模板,没有引用(默认引用除外),我可以启动该服务。没问题。

所以我的问题是可能导致这种情况的原因是什么?在我的项目中,引用指向服务器上不存在的位置,但是服务所在的目录包含所有引用的 DLL。

编辑:程序.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Threading.Tasks;

namespace RetrieveAndProcessSecurityLogs
{
static class Program
{
static void Main()
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new LogService()
};
ServiceBase.Run(ServicesToRun);
}
}
}

日志服务.cs

public partial class LogService : ServiceBase
{
public LogService()
{
InitializeComponent();
this.ServiceName = "Retrieve and Process Security Logs";
this.CanPauseAndContinue = true;
this.CanStop = true;
}

protected override void OnStart(string[] args)
{
//...
}

protected override void OnStop()
{
//...
}

编辑:服务器上安装的 .NET 版本是 v4.0,但是在项目的应用程序配置文件中有这一行:

<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />

4.5 部分可能是问题所在吗?

Edit2:底线:如果我引用一个 DLL,我会得到及时的时尚错误。如果我没有定义额外的 DLL 引用,则服务启动。

对不起这个故事。安德鲁

最佳答案

为了将来遇到此问题的任何人引用,问题是引用之一是针对 .NET FW 4.5 构建的,并且在安装服务的服务器上有 .NET FW 4。我的机器有 4.5。

关于c# - 服务没有及时启动 - c# windows 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18864022/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com