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:
- Unduh dan instal rilis terbaru SDK Aplikasi Windows. Untuk informasi selengkapnya, lihat Mulai menggunakan WinUI.
- 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.
Windows developer
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk