2012-09-07 118 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

相关问题