2011-04-25 64 views
1

我們正在開發基於SMS的測驗競賽,用戶通過向我們的服務器發送短信來請求開始測驗。那麼服務器和用戶會回答問題。整個應用程序是一個Web項目(C#)。所以我必須保持請求之間的狀態。我正在尋找一個類似於ASP.NET Session的SMS會話。這裏SessionId是用戶的mobno。 如果用戶未能回答問題,那麼會話應超時......請幫助我找到此場景的解決方案......'在基於SMS的通信中維護狀態

回答

0

在從特定號碼接收到第一條短信時,您必須開始會話,通過生成並存儲具有響應的唯一ID並存儲接收短信的時間。之後,每次獲得答覆時,都要更新數據庫中該會話ID的時間。

您可以通過檢查當前短信時間和上次短信時間來檢查會話超時。

這是我認爲你可以在這裏保持會話的方式。

+0

感謝您的快速回復Bhavik。但我必須通知用戶他/她的會話已超時並得分。只有當用戶在超時後發送任何消息時,您的解決方案纔會工作,如果發生超時時自動發送消息 – svzub 2011-04-25 10:29:13

2

假設您將會話存儲在數據庫中,您需要有一個後臺進程來監視會話,當會話過期時,您可以更新數據庫中的會話記錄並生成SMS消息以通知用戶。

後臺進程可能是掃描數據庫的Windows服務或根據您使用的後端數據庫可以使用計劃數據庫任務執行檢查,大多數基於服務器的數據庫(如SQL Server)都支持預定的工作。