Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 9355|Відповідь: 5

[Джерело] [Справжній бій]. NET/C# встановлює час тайм-ауту для методу

[Копіювати посилання]
Опубліковано 04.05.2022 18:59:51 | | | |
Вимоги: Метод NET/C# повинен використовувати System.Diagnostics.Process для виклику інших операцій програми, якщо це стороння програмаПостійна відсутність відповіді може призвести до того, що методи завжди чекаютьОскільки стороння програма може вимагати введення команди, метод не відповідає, скільки б часу не чекав, через що програма не зможе продовжувати виконання у звичайному режимі.

Щодо встановлення тайм-ауту для певного методу, слід врахувати кілька речей:

  • Метод минув, але його все ще можуть застосовувати
  • Якщо тайм-аут триватиме, чи заповнить це тему? Повна пам'ять? Повний процесор?
  • Метод вичерпався, як гідно завершити виконання методу


Я бачив деякий код в Інтернеті, наприклад, про тайм-аут завдання, хоча ефект був досягнутий, алеЗавдання буде продовжувати виконувати, що може постійно споживати ресурси, спричиняючи збій програми.

Код виглядає так:



Розглядаючи тему, ця стаття встановлює тайм-аут для цього методуЦілеспрямовано і не підходить для всіх методів, щоб дати уявлення, будь ласка, коригуйте її відповідно до вашої реальної ситуації.

Наш метод викликає System.Diagnostics.Process, щоб запустити сторонню програму, і коли метод закінчується, ми хочемо зупинити процес, який завершує сторонню програму! Код виглядає так:


(Кінець)





Попередній:[Справжній бій]. NET/C# викликає 7z декомпресію через командний рядок
Наступний:Nginx використовує HTTPS для налаштування SSL-сертифікатів
Опубліковано 04.05.2022 23:10:31 |
Навчися вчитися...
Опубліковано 10.10.2022 13:12:08 |
Навчися вчитися...
Опубліковано 10.10.2022 13:12:50 |
Вивчи це
Опубліковано 10.10.2022 13:13:27 |
Давайте розглянемо рішення великого хлопця хі-хі
 Орендодавець| Опубліковано 10.10.2022 17:22:12 |
API Task.WaitAsync() у .NET 6

У .NET 6 додано новий метод WaitAsync, який використовується для асинхронного очікування виконання завдання, а при асинхронному очікуванні можна вказати час тайм-аут або токен скасування CancellationToken; у попередній версії було лише синхронне очікування, яке чекало на завершення завдання, і не підтримувало кращі тайм-аути чи скасування завдань Розширення, такі як TimeoutAfter, можуть замінити ці розширення на WaitAsync

https://andrewlock.net/a-deep-di ... nc-api-in-dotnet-6/
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com