C# 等待服务连接时达到超时(30000毫秒)

C# 等待服务连接时达到超时(30000毫秒),c#,windows,winforms,windows-services,C#,Windows,Winforms,Windows Services,请任何人检查我在开始时所做的是否正确。我正在自动启动和停止错误服务。我想每10分钟运行一次服务。请帮帮我,我已经挣扎了4个小时了 protected override void OnStart(string[] args) { try { _aTimer.Start(); _aTimer.Enabled = true; _aTimer

请任何人检查我在开始时所做的是否正确。我正在自动启动和停止错误服务。我想每10分钟运行一次服务。请帮帮我,我已经挣扎了4个小时了

 protected override void OnStart(string[] args)
        {
            try
            {
                _aTimer.Start();

                _aTimer.Enabled = true;
                _aTimer = new System.Timers.Timer(10 * 60 * 1000);//10 minutes 
                _aTimer.AutoReset = true;
                _aTimer.Elapsed += new System.Timers.ElapsedEventHandler(_aTimer_Elapsed);
            }
            catch(Exception ex) {
                RMLogger.RMException("ServiceManager", this.GetType().Name.ToString(), ex.ToString());
            }




        }

我看到的问题如下:

  • 你开始计时
  • 你可以启用它
  • 然后给计时器一个新实例
  • 我认为计时器会在新的给定实例中自动重置


    尝试先给它一个新实例和运行计时器所需的参数。然后启动计时器。

    我想你这里有点混乱。你说

    我想每10分钟运行一次服务

    但是,只有在服务持续运行时,您启动的计时器才会每10分钟运行一次

    你的意思是你想每10分钟启动一次服务,在这种情况下,我会使用类似于每10分钟启动一次服务,让它完成它的处理,然后再次关闭


    或者让服务持续运行,计时器事件将每10分钟触发一次。

    确保编译到安装windows服务的服务器上的.net framework版本相同


    我也有同样的问题,我在4.5.2和服务器4.5中编译它。installutil欺骗我们允许安装它,但它不会启动。

    我不应该使用任务计划程序,这就是为什么我要将计时器设置为10分钟的原因,正因为如此,服务会在启动时启动和停止,我要将计时器间隔设置为10分钟。我是否可以指定计时器在启动后跳过initializecomponent()?看一下这篇文章我的服务应该创建一个excel文件,它正在运行创建的文件夹等,但无法创建excel文件我需要为该服务授予任何权限吗?我想这是一个单独的问题,您需要发布代码。作为第一步,加入一些异常处理并查看它的失败之处。这将为您提供一个很好的起点。我对调用timer_Appeased event感到困惑,我希望我的服务每10分钟运行一次。我不能使用windows任务计划程序。我可以在InitializeComponent()之后设置timer Appeased吗?您所说的是正确的,因为新的计时器实例是10分钟,windows服务启动的最长时间只有30秒,这导致了问题,我建议您这样做,因为如果(可能发生)计时器在initializecomponents之前经过,并且经过的事件正在调用组件,你肯定会得到一个关于仍然为空的组件的错误。我刚刚移动了我的代码_aTimer=new System.Timers.Timer(10*60*1000)//在initializingcomponent()下10分钟,并安装成功启动的服务。但需要检查它是否能按预期运行。谢谢你的朋友。很有帮助欢迎您,很高兴帮助!我希望你得到了理想的情况。祝你服务顺利。