Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 9355|Отговор: 5

[Източник] [Истински бой]. NET/C# задава време за тайм-аут за даден метод

[Копирай линк]
Публикувано в 4.05.2022 г. 18:59:51 ч. | | | |
Изисквания: NET/C# метод трябва да използва System.Diagnostics.Process, за да извикне други операции на програмата, ако е трета странаПостоянната липса на отговор може да доведе до методи, които винаги чакатТъй като трета страна може да изисква въвеждане на команда, методът няма да отговори, независимо колко дълго чака, което води до това, че програмата не може да продължи нормалното си изпълнение.

Относно определянето на време за тайм-аут за даден метод, трябва да вземете предвид няколко неща:

  • Методът е изтекъл, но все пак може да бъде приложен
  • Ако таймаутът продължи, ще запълни ли темата? Пълна памет? Пълен процесор?
  • Методът изтече, как грациозно да се завърши изпълнението на метода


Видях някакъв код в интернет, като например за timeout на задачата, въпреки че ефектът беше постигнат, ноЗадачата ще продължи да се изпълнява, което може да изразходва ресурси постоянно, причинявайки срив на програмата.

Кодът е следният:



Преглеждайки темата, тази статия определя времето за тайм-аут за методаЦеленасочени и не подходящи за всички методи, за да дадете представа, моля, коригирайте я според вашата реална ситуация.

Нашият метод извиква System.Diagnostics.Process, за да стартира програма от трета страна, и след като методът изтече, искаме да прекратим процеса, който прекратява програмата на трета страна! Кодът е следният:


(Край)





Предишен:[Истински бой]. NET/C# извиква 7z декомпресия през командния ред
Следващ:Nginx използва HTTPS за конфигуриране на SSL сертификати
Публикувано в 4.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 ч. |
Task.WaitAsync() API в .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