代码之家  ›  专栏  ›  技术社区  ›  Jeff

启动时Windows服务失败

  •  2
  • Jeff  · 技术社区  · 16 年前

    我正在写一个Windows服务。它安装得很好,但在我运行它时失败,出现以下异常。我已经搜索了字符串“MyNewProgramService”,但找不到任何会引发此错误的转换。我还将try/catch块添加到一组带有自定义异常处理的代码中,但没有找到发生此异常的位置。我认为它在自动生成的配置/设置代码中。有什么想法吗?

    Event Type: Error 
    Event Source:   MyNewProgram Event 
    Category:   None Event 
    ID: 0 
    Date:       4/15/2010 
    Time:       12:48:34 PM 
    User:       N/A 
    Computer:   20F7KF1 
    Description: Service cannot be started. System.InvalidCastException: 
    Conversion from string "MyNewProgramService" to type 'Integer' is not valid. --->
    System.FormatException: Input string was not in a correct format.    
    at Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(String Value,
         NumberFormatInfo NumberFormat)  
    at Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value)    
         --- End of inner exception stack trace --- 
    at Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value)
    at TaskManagerFailureHandlerService.MyNewProgramService.OnStart(String[] args)
    at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
    
    2 回复  |  直到 12 年前
        1
  •  3
  •   Andrey    16 年前

    它属于方法 MyNewProgramService.OnStart ,在那里 Conversions.ToInteger 在某个地方。只需在方法中搜索它。然后检查参数。它可能来自配置或其他东西,这就是为什么在文本中看不到字符串的原因。

        2
  •  0
  •   Jay    16 年前

    检查配置文件。

    您还可以检查服务运行时使用的帐户。就像测试一样,转到服务列表中的登录选项卡,让它在您自己的帐户下登录。如果问题消失了,那就是权限问题。