Windows phone 8 从休眠状态恢复时重新提交web请求

Windows phone 8 从休眠状态恢复时重新提交web请求,windows-phone-8,windows-phone,webrequest,restsharp,Windows Phone 8,Windows Phone,Webrequest,Restsharp,我在WindowsPhone8应用程序中使用RestSharp(一个.NET的REST客户端),但我认为我的问题也适用于使用HttpWebRequest或任何其他运行web请求的方式 我试图找到一种方法,当应用程序从休眠状态恢复时自动重新提交请求。这只来自休眠状态,而不是墓碑状态 我的想法是创建一个包装器对象,在启动请求并在收到事件时重新运行请求之前订阅停用的事件。 我假设由于收到了停用的事件,请求失败 public class RestClientEx { bool wasDeacti

我在WindowsPhone8应用程序中使用RestSharp(一个.NET的REST客户端),但我认为我的问题也适用于使用HttpWebRequest或任何其他运行web请求的方式

我试图找到一种方法,当应用程序从休眠状态恢复时自动重新提交请求。这只来自休眠状态,而不是墓碑状态

我的想法是创建一个包装器对象,在启动请求并在收到事件时重新运行请求之前订阅停用的事件。 我假设由于收到了停用的事件,请求失败

public class RestClientEx
{
    bool wasDeactivated = false;

    public async Task<T> ExecuteTaskAsync<T>(RestClient client, RestRequest request) where T : new()
    {
        var phoneApplicationService = App.Current.ApplicationLifetimeObjects.OfType<PhoneApplicationService>().First();
        phoneApplicationService.Deactivated += phoneApplicationService_Deactivated;
        var t = await client.ExecuteTaskAsync<T>(request);
        if (this.wasDeactivated)
        {
            // resubmit request
            this.wasDeactivated = false;
            t = await this.ExecuteTaskAsync<T>(client, request);
        }
        return t;
    }

    void phoneApplicationService_Deactivated(object sender, DeactivatedEventArgs e)
    {
        (sender as PhoneApplicationService).Deactivated -= phoneApplicationService_Deactivated;
        this.wasDeactivated = true;
    }
}
公共类RestClientEx
{
bool=false;
公共异步任务ExecuteTaskAsync(RestClient客户端,RestRequest请求),其中T:new()
{
var phoneApplicationService=App.Current.ApplicationLifetimeObjects.OfType().First();
phoneApplicationService.Deactivated+=phoneApplicationService\u已停用;
var t=wait client.ExecuteTaskAsync(请求);
如果(此.已停用)
{
//重新提交请求
this.wasdocated=false;
t=wait this.ExecuteTaskAsync(客户端,请求);
}
返回t;
}
void phoneApplicationService_已停用(对象发送方,已停用目标)
{
(发送方作为PhoneApplicationService)。已停用-=PhoneApplicationService\u已停用;
this.wasdocated=true;
}
}
我的问题是,有没有其他方法来实现这一点

我现在做的可以吗