2012-09-07 58 views
0

我想實現自動保存功能。如何在Silverlight中實現自動保存功能

我有一個silverlight應用程序,其中,我們正在點擊一個按鈕發送服務器上的數據。現在我不想點擊那個按鈕,我想,我的數據應該以20或30秒的時間間隔定期發佈到服務器。

PLZ給我您的寶貴建議,如何實現這種

+0

只要在DispatcherTimer的Tick方法中按鈕單擊處理程序中執行任何操作即可。請務必在發送過程中禁用定時器。 – jv42

+0

你可以分享任何鏈接或數據,可以幫助我實施它 –

回答

0

我使用此代碼保持會話活着。它和你正在做的事情是一樣的;在指定的時間間隔後自動調用服務:

 public Page() 
    { 
     InitializeComponent(); 
     // Set up timer 
     System.Windows.Threading.DispatcherTimer dt = 
      new System.Windows.Threading.DispatcherTimer(); 
     // Set to call every 5 minutes 
     dt.Interval = new TimeSpan(0, 0, 5, 0, 0); 
     // Set up event handler 
     dt.Tick += new EventHandler(dt_Tick); 
     // Start timer 
     dt.Start(); 
    } 
    void dt_Tick(object sender, EventArgs e) 
    { 
     // Call web service 
     Ping(); 
    } 

    void Ping() 
    { 
     WebTest.otsref.SilverlightServiceClient webService = new WebTest.SilverlightServiceClient(); 
     webService.PingAsync(); 
    } 
+0

謝謝,我已經實施它。我還有一個疑問,我在MainViewModel中編寫了所有這些代碼。而且我還希望在瀏覽器崩潰的情況下保存數據。那麼如何在瀏覽器崩潰的情況下保存我的數據也 –

+0

你不能。它運行在瀏覽器中,所以如果崩潰了,你的應用也將停止工作。每次更改數據時,您都需要將數據保存到服務器[這可能不比每隔30秒保存更多的開銷],或者使用IsolatedStorage將更改保存在保存的客戶端之間。 – NeutralHandle

相關問題