我想实现自动保存功能。如何在Silverlight中实现自动保存功能
我有一个silverlight应用程序,其中,我们正在点击一个按钮发送服务器上的数据。现在我不想点击那个按钮,我想,我的数据应该以20或30秒的时间间隔定期发布到服务器。
PLZ给我您的宝贵建议,如何实现这种
我想实现自动保存功能。如何在Silverlight中实现自动保存功能
我有一个silverlight应用程序,其中,我们正在点击一个按钮发送服务器上的数据。现在我不想点击那个按钮,我想,我的数据应该以20或30秒的时间间隔定期发布到服务器。
PLZ给我您的宝贵建议,如何实现这种
我使用此代码保持会话活着。它和你正在做的事情是一样的;在指定的时间间隔后自动调用服务:
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();
}
谢谢,我已经实施它。我还有一个疑问,我在MainViewModel中编写了所有这些代码。而且我还希望在浏览器崩溃的情况下保存数据。那么如何在浏览器崩溃的情况下保存我的数据也 –
你不能。它运行在浏览器中,所以如果崩溃了,你的应用也将停止工作。每次更改数据时,您都需要将数据保存到服务器[这可能不比每隔30秒保存更多的开销],或者使用IsolatedStorage将更改保存在保存的客户端之间。 – NeutralHandle
只要在DispatcherTimer的Tick方法中按钮单击处理程序中执行任何操作即可。请务必在发送过程中禁用定时器。 – jv42
你可以分享任何链接或数据,可以帮助我实施它 –