Windows服务在启动时失败

时间:2010-04-15 17:09:27

标签: vb.net windows-services .net

我正在尝试编写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 个答案:

答案 0 :(得分:3)

它落在方法MyNewProgramService.OnStart中,在某处调用Conversions.ToInteger。只需在方法中搜索它。然后检查参数。它可能来自配置或其他东西,这就是为什么你没有在文本中看到字符串。

答案 1 :(得分:0)

检查配置文件。

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