2013-03-13 99 views
0

我對Windows服務非常陌生。我想在我的Windows服務中使用與我的asp.net Web應用程序中相同的功能。錯誤消息:Windows服務無法在本地計算機上啓動Windows 7操作系統

它沒有任何UI。

我在這裏介紹我的web應用程序,所以根據你可以指導我如何在windows服務中做到這一點。

  1. 圖像檢索非常大的圖像按一定的條件下它駐留在我的web應用程序文件夾。

  2. 調整這些圖像的大小並將其存儲到數據庫中。

  3. Retrive調整存儲在數據庫中的圖像,並將其存儲到名爲服務器文件夾,再次調整該圖像在3個不同大小和保存到他們的三個相應大小的文件夾名爲列表迷你,* 服務器上的拇指 *。

現在我想要構建具有相同功能的windows服務,並且每15分鐘後在服務器上運行它。

希望我現在更清楚。請在這方面幫助我。

我的web應用程序代碼正在工作。但我不知道該把代碼放在我的Windows服務中,因爲我對Windows服務很陌生。

我試圖把這些代碼的OnStartoncontinue方法,但那個時候服務不允許啓動。它會給出錯誤消息,此服務無法在本地計算機上啓動。

回答

0

OnStart必須在30(??? iirc)秒超時內完成。我建議脫掉OnStart中的線程來完成這項工作,以便OnStart立即完成。

protected override void OnStart(string[] args) 
    { 
     (new Thread(() => DoLongRunningStartupWork()){IsBackground = true}) 
      .Start(); 

    } 

    void DoLongRunningStartupWork() 
    { 
     //actual startup code 
    } 
+0

@spender ..我試圖做到這一點建議以上兩種方式安裝服務,但是當我從服務面板啓動服務時,它會給出錯誤「Windows無法啓動本地計算機上的XYZ服務錯誤1053:服務沒有響應啓動或控制請求「 – Nilam 2013-03-13 15:05:34

0

您將需要創建一個從OnStart方法中調用的方法。 OnStart方法純粹是爲了在啓動時配置服務。你會想是這樣的:

void OnStart() 
{ 
    DoSomething(); 
} 

void DoSomething() 
{ 
    // Your code here 
} 

我看到人們爲了從那裏開始的Windows服務,並得到再Thread確實是工作需要使用Thread秒。

+0

我試圖做它安裝服務的兩種方式,但是當我從服務面板啓動服務時,它會給出錯誤」Windows無法在本地計算機上啓動XYZ服務錯誤1053:服務沒有響應啓動或及時控制請求「 – Nilam 2013-03-13 15:05:03

+0

您是否每次都重新安裝服務?或者你是否卸載並重新安裝? – 2013-03-13 17:01:21

相關問題