Bagikan melalui


Mulai ulang API

API hidupkan ulang memungkinkan aplikasi apa pun, termasuk aplikasi Win32 yang dikemas atau dibongkar, untuk mengakhiri dan memulai ulang sendiri pada perintah, termasuk kemampuan untuk menyediakan string baris perintah arbitrer untuk instans yang dimulai ulang.

Definisi

public static AppRestartFailureReason Restart(String arguments)

Parameter

arguments: String

Argumen yang akan diteruskan ke instans yang dimulai ulang.

Mengembalikan

RESTART API mengembalikan AppRestartFailureReason.

Prasyarat

Untuk menggunakan API siklus hidup aplikasi di SDK Aplikasi Windows:

  1. Unduh dan instal rilis terbaru SDK Aplikasi Windows. Untuk informasi selengkapnya, lihat Mulai menggunakan WinUI.
  2. Ikuti instruksi untuk Membuat proyek WinUI 3 pertama Anda atau untuk menggunakan SDK Aplikasi Windows dalam proyek yang ada.

Apa ini Metode Hidupkan Ulang?

Untuk aplikasi Win32, berikut ini ada sebagai kemungkinan mekanisme hidupkan ulang:

  • Api Win32 RegisterApplicationRestart memungkinkan aplikasi untuk mendaftarkan dirinya untuk dimulai ulang setelah penghentian, dan untuk menyediakan string baris perintah arbitrer untuk instans yang dimulai ulang. Alasan penghentian termasuk crash atau hang aplikasi, pembaruan aplikasi, atau pembaruan sistem.

Namun, ada celah untuk skenario berikut:

  • Aplikasi Win32 dapat mendaftar dengan OS untuk memulai ulang di status aplikasi/OS tertentu, tetapi tidak dapat memulai hidupkan ulang dari keadaan sehat

Restart API ini memungkinkan aplikasi Win32 untuk mengakhiri dan memulai ulang pada perintah, dan selaras dengan CoreApplication.RequestRestartAsync coreapplication yang ada.

Memulai ulang Dengan Argumen Baris Perintah

Cukup panggil metode Hidupkan ulang dan tentukan string baris perintah arbitrer agar instans yang dimulai ulang dimulai ulang. Mulai ulang selesai secara sinkron dan tidak diperlukan tindakan atau penanganan lebih lanjut. Jika hidupkan ulang gagal karena beberapa alasan, metode Hidupkan ulang mengembalikan alasan kegagalan.

Contoh

private void restartAfterUpdate()
{
    AppRestartFailureReason restartError = AppInstance.Restart(restartArgsInput);

    switch (restartError)
    {
        case AppRestartFailureReason.RestartPending:
            SendToast("Another restart is currently pending.");
            break;
        case AppRestartFailureReason.InvalidUser:
            SendToast("Current user is not signed in or not a valid user.");
            break;
        case AppRestartFailureReason.Other:
            SendToast("Failure restarting.");
            break;
    }
}

Untuk melihat Mulai ulang sampel, kunjungi repositori WindowsAppSDK-Samples.