WinRt: Suspend and Resume — когда я должен освободить свои ресурсы и снова выделить их?

Мое приложение WinRt реализует простой HttpServer. Этот сервер запускается при запуске приложения и должен быть остановлен, когда приложение завершается. HttpServer получает некоторые обратные вызовы от другого удаленного стороннего компонента. Мне нужно зарегистрировать и отменить регистрацию моего HttpServer на стороннем компоненте.

Моя проблема здесь заключается в жизненном цикле приложения WinRt, особенно в ситуации приостановки -> возобновления (без Terminated или ClosedByUser).

В этой ситуации метод OnSuspending вызывается при приостановке, но при возобновлении ничего не вызывается.

В моем приложении я отменяю регистрацию HttpServer из стороннего компонента во время «OnSuspending». Вопрос в том, что вызывается, чтобы я мог перерегистрировать свой HttppServer у третьей стороны?

Любая помощь высоко ценится!


person Soernt    schedule 06.09.2013    source источник
comment
Поскольку я ничего не нашел для этой ситуации, я сделал следующее: в OnSuspend я отменяю регистрацию своего HttpServer на стороннем компоненте, создаю и запускаю DispatchTimer. Событие Tick вызывается, как только приложение возобновляет работу (а не между ними). В этом обработчике событий Tick я отключаю таймер, перезапускаю свой HttpServer и перерегистрирую его в компоненте третьей части. Пока это работает хорошо.   -  person Soernt    schedule 06.09.2013


Ответы (1)


Существует событие Resume, определите его в конструкторе App.xaml.cs.

public App()
    {
        InitializeComponent();

        Suspending += OnSuspending;
        this.Resuming += On_resuming;
    }

И напишите свое резюме

private async void On_resuming(object sender, object e)
{

}

Надеюсь, поможет

person Zubair Ahmed    schedule 04.10.2013