Не удается войти в приложение через iFrame в Chrome, но можно при просмотре напрямую

Я рекомендую вам начать с ввода в async / await и следить за официальной документацией MSI в TAP .

Как я упоминал в своем вступительном сообщении в блоге, есть несколько Task членов, которые являются задержками с TPL и не используют чистый код async. new Task и Task.Start следует заменить на Task.Run (или TaskFactory.StartNew). Аналогично, Thread.Sleep следует заменить на Task.Delay.

Наконец, я рекомендую вам не использовать Task.WaitAll; ваше консольное приложение должно просто Wait на одном Task, которое использует Task.WhenAll. При всех этих изменениях ваш код будет выглядеть так:

class Program
{
    static void Main(string[] args)
    {
        MainAsync().Wait();
    }

    public static async Task MainAsync()
    {
        Task task1 = Task1();
        Task task2 = Task2();

        await Task.WhenAll(task1, task2);

        Debug.WriteLine("Finished main method");
    }

    public static async Task Task1()
    {
        await Task.Delay(5000);
        Debug.WriteLine("Finished Task1");
    }

    public static async Task Task2()
    {
        await Task.Delay(10000);
        Debug.WriteLine("Finished Task2");
    }
}

7
задан Jody Heavener 16 August 2013 в 23:51
поделиться