我有一個10-20人全天使用的程序。由於事情正在迅速波動,我偶爾需要將數據庫脫機,或者出於其他原因重新啓動服務器。我想有一個更好的方法來確保目前沒有人蔘與該計劃,而不是走向每個人並問他們。如何檢查某人是否正在運行我的程序?
我不想重新發明輪子,如果這樣的事情已經存在。
我所做的是在思考:
- 創建數據庫「歷史」進入用戶每次打開或關閉程序,看看誰正在使用該系統。
- 使用WCF讓客戶端「告訴」服務器每隔X秒連接一次。
有沒有更好或更容易解決這個問題的方法?
我有一個10-20人全天使用的程序。由於事情正在迅速波動,我偶爾需要將數據庫脫機,或者出於其他原因重新啓動服務器。我想有一個更好的方法來確保目前沒有人蔘與該計劃,而不是走向每個人並問他們。如何檢查某人是否正在運行我的程序?
我不想重新發明輪子,如果這樣的事情已經存在。
我所做的是在思考:
有沒有更好或更容易解決這個問題的方法?
一個解決方案是創建一個數據庫表,每次有人登錄時,都會爲他們創建一條記錄。每15分鐘更新一次上次更新時間。當它們關閉時,它會刪除記錄。如果任何記錄超過15分鐘,這是應用程序崩潰。
它的原始但它的工作原理,然後你有一個簡單的數據庫查詢運行。
一種解決方案是通過網絡以UdpClient
廣播一些數據並查找響應以查看應用程序的任何實例是否在線。
我不知道這種解決方案在您的情況下是否可行,但我認爲這個解決方案對於某些人來說至少可以派上用場。
它是什麼樣的「程序」,ASP.NET,WPF,Winforms,...? – 2012-03-05 22:52:45
這是一個Winforms程序 – Origin 2012-03-05 23:01:52
也許你的數據庫保留了當前登錄用戶的記錄,你可以查詢。其中一個系統表... – Dialecticus 2012-03-05 23:06:53