2016-01-13 172 views
1

我有一個用c#開發的Windows應用程序,每天在機器啓動時自動啓動。通過使用這個Windows C#應用程序,我們啓動了一個HTML應用程序來顯示從這個C#應用程序讀取的所有細節。在啓動html之前,這個Windows應用程序會從服務器讀取更新的數據(如果有的話)。 我的問題是,當機器啓動應用程序也啓動並無法連接到服務器,並進入閒置狀態,並啓動HTML應用程序和HTML應用程序將無法溝通,並從Windows應用程序獲取任何數據。在機器重啓時自動重啓應用程序掛起應用程序

但是,當手動再次停止並啓動Windows應用程序,它開始連接到服務器,並啓動HTML與適當的數據。

在註冊表設置中,我們將winlogon設置爲c:\ myapplication.exe。 有什麼辦法可以讓我的C#應用​​程序等待機器完全啓動並加載機器中的所有網絡連接,然後啓動應用程序。

有任何建議。

問候 桑傑塔

+0

如何在沒有網絡連接可用的情況下重試? –

回答

0

有多種方案,以實現您的結果:

  1. 使用任務計劃程序。較新版本的任務計劃有延遲啓動任務函數。只需將其設置爲以不同的延遲執行您的'應用程序'登錄。
  2. 如果你的C#應用​​程序公開爲服務,這可能會造成負載的服務與取決於

    • 單擊開始,單擊運行,輸入regedit。
    • 展開以下項:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \
    • 右鍵單擊您嘗試設置依賴關係的服務,然後選擇「新建」 - >「多字符串值」。
    • 將新值重命名爲DependOnService。
    • 雙擊DependOnService值,並將相關服務名稱(從上方)輸入到「數值數據:」字段中,然後單擊「確定」。
    • 關閉註冊表編輯器。
    • 重新啓動服務器。
    • Source

3.You可以使用免費程序一樣Start Up Delayer耽誤您的程序

4.You可以在你的C#程序和突破創建一個無限循環一旦所有你的依賴被加載。例如。檢查你是否能夠連接到服務器等。

0

在這種情況下,我會請與服務器系統的連通性啓動HTML頁面之前,做它每隔一兩秒鐘。一旦我獲得連接,我會調用html頁面來顯示任何需要的內容。