我有一個使用C#編寫的Windows服務,並使用installUtil.exe實用程序安裝在我的機器上。安裝成功完成後,我正在嘗試啓動該服務。但它給了我一個1053錯誤。Windows服務啓動失敗
現在真正奇怪的是,當我刪除配置文件服務啓動就好(雖然然後停止,因爲空指針異常,這是預期的,因爲沒有配置文件)。
對此有何見解?我在這裏損失了,我在同一臺機器上安裝了另一項服務,它工作得很好。
注意:操作系統是Windows 7中的OnStart()
方法家庭高級版64位
編輯=======
爲了明確這一點,我試圖登錄(使用事件查看器)。當日志文件被刪除時,我可以看到所有的日誌條目和服務工作正常,直到它需要從配置文件中獲取數據。
問題似乎是當配置文件仍然存在。 OnStart()
方法的第一行做了一個日誌條目,但是,該程序沒有達到這一點。
protected override void OnStart(string[] args)
{
try
{
this.EventLog.WriteEntry("Starting Focus Stock Service");
該日誌條目被記錄只在配置文件是不是
編輯2 ========================否則就不會達到這一點。
> <?xml version="1.0"?> <configuration> <appSettings>
> <add key="Directory" value="C:\Logs\FocusCommon"/>
> <add key="FileName" value="log"/>
> <add key="LogLevel" value="3"/>
> <add key="StockRemotingServerPort" value="10001"/>
> <add key="StockRemotingServerName" value="FocusStockServer"/>
> <add key="SQLServerConnStringTemplate" value="server=$server$;uid=$username$;pwd=$password$;database=$database$;MultipleActiveResultSets=True;Pooling=False;"/>
> <add key="AccountingSynchIntervalMinutes" value="1"/>
> <add key="LocalImageDirectory" value="C:\Focus360_Image_Dir"/>
> <add key="LocalBrandImageDirectory" value="C:\Focus360_Image_Dir\Brands"/>
> <add key="LocalAttachmentDirectory" value="C:\Focus360_Attachment_Dir"/>
> <add key="EmailServer" value="maltanet.net" />
> <add key="EmailPort" value="25" />
> <add key="EmailUserName" value="" />
> <add key="EmailPassword" value="" />
> <add key="EmailUseSSL" value="false" /> </appSettings>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="FSS_SQLConnPool" publicKeyToken="40FEE7F833FAA042" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.0.4525.28539" newVersion="1.0.4525.28539"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
聽起來好像在這兩種情況下服務中都會拋出一些運行時異常。你有什麼機會找出這些是什麼?您可能需要向代碼添加一些錯誤日誌記錄並重新部署以獲取更多有用的信息。但在這方面,異常類型,異常消息和堆棧跟蹤非常有用。 – David
是的,我使用事件查看器進行日誌記錄,但是在配置文件未被刪除的情況下,它似乎沒有調用OnStart()方法。刪除配置文件後,我看到日誌條目。 – Jonny
當配置文件被刪除時,它停止了,但那是因爲它沒有找到配置文件。所以看起來配置文件是問題 – Jonny