С# - отмена источника токена не работает, и основная функция зависает в консольном приложенииC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 С# - отмена источника токена не работает, и основная функция зависает в консольном приложении

Сообщение Гость »


Я написал следующий код C# в .NET 6 в простом консольном приложении. Он захватывает сигнал «Прерывание» (т. е. Ctrl+C) и сигнализирует источнику токена отмены об отмене своего токена. Затем в основном методе я хочу, чтобы поток завершился. Почему следующий код не работает должным образом, т. е. метод Main не завершается, и я не вижу сообщения Exiting...

пространство имен ConsoleApp1 { Программа общественного класса { частный статический CancellationTokenSource cancelTokenSource = новый CancellationTokenSource(); public static void Main(string[] args) { Console.CancelKeyPress += новый ConsoleCancelEventHandler(InterruptHandler); Task.Delay(Timeout.Infinite, cancelTokenSource.Token).Wait(); Console.WriteLine("Выход..."); } частный статический void InterruptHandler (объект? отправитель, ConsoleCancelEventArgs e) { ОтменаTokenSource.Cancel(); } } } Затем я изменил основной метод на этот, но все равно произошло то же самое.
public static void Main(string[] args) { Console.CancelKeyPress += новый ConsoleCancelEventHandler(InterruptHandler); в то время как (cancellationTokenSource.IsCancellationRequested == false) Thread.Sleep(1000); Console.WriteLine("Выход..."); } } }
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Отмена нескольких задач из одного источника токена отмены
    Anonymous » » в форуме C#
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Отмена фона выполнения задачи, когда пользователь нажимает на кнопку «Отмена
    Anonymous » » в форуме JAVA
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Отмена фона выполнения задачи, когда пользователь нажимает на кнопку «Отмена
    Anonymous » » в форуме JAVA
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Когда я подключаюсь к удаленному серверу, scp зависает, команда экрана зависает, htop зависает [закрыто]
    Гость » » в форуме Linux
    0 Ответы
    158 Просмотры
    Последнее сообщение Гость
  • Отмена токена отмены означает закрытие TCP-сокета.
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»