Мне нужно разработать приложение C# с использованием **BackgrounWorker**
, но без использования Windows Forms. Я видел несколько примеров, представленных Microsoft относительно использования класса BackgrounWorker, и все они разработаны специально для Windows Forms. Можно ли использовать BackgroundWorker без Windows Forms? если да, пожалуйста, предоставьте несколько деталей. заранее спасибо !Может ли объект BackgroundWorker в C# запускаться без Windows Forms?
0
A
ответ
1
В C# есть вы можете использовать Tasks или Threads они оба используются для запуска в фоновом режиме в отделенной контексте выполнения (разделенные потоки)
Это простой пример использования нити
using System.Threading;
// creating new thread and pass it the delegate to run it
Thread thread = new Thread(new ThreadStart(WorkThreadFunction));
// this command to start the thread
thread.Start();
public void WorkThreadFunction()
{
// do any background work
}
+0
** Привет, Bakri **, спасибо за ваши комментарии и пример! Я думаю, что буду использовать ** Threads **. – ekremer
+0
Добро пожаловать :) –
Смежные вопросы
- 1. C# Объект Windows Forms
- 2. Отмена BackgroundWorker - Windows Forms (C++/CLI)
- 3. C# - Возможно ли создать приложение Windows Forms, которое может запускаться из командной строки с параметрами?
- 4. Может ли консольное приложение C# запускаться в Linux без моно?
- 5. Может ли приложение Windows .net C# запускаться на Adobe Air
- 6. C# threading и Windows Forms
- 7. C++ GUI Без «Windows Forms» или «Framework»
- 8. Может ли Xdefaults запускаться автоматически?
- 9. Windows Forms C#
- 10. C#, Windows Forms, LinkLabel Column
- 11. Как установить текст меток в Windows Forms из BackgroundWorker
- 12. сервер rails не может запускаться на Windows
- 13. Ноутбук Ipython не может запускаться (Windows 8.1)
- 14. C# Windows Forms
- 15. Расчеты в Windows Forms C#
- 16. C# приложения Windows Forms
- 17. C# - Windows Forms - Windows Sleep
- 18. Использование BackgroundWorker в C#?
- 19. C# Windows Forms коммутации
- 20. C#, Windows Forms и Application.Run()
- 21. Multi Threading C# Windows Forms
- 22. Windows Forms C++
- 23. Windows Forms combobox.SelectedItem, C#
- 24. Может ли любое приложение C# запускаться на linux
- 25. Adorners for C# Windows Forms
- 26. Как использовать объекты в Windows Forms C++
- 27. Может ли приложение Sails.js запускаться в Apache
- 28. Проверьте, не открыто ли диалог моделирования в C#, Windows Forms
- 29. Как создать combobox БЕЗ Windows Forms
- 30. Ubuntu MonoDevelop не может запускаться без ошибок
BackgroundWorker был предназначен для использования с Windows Forms. События ProgressChanged() и RunWorkerCompleted() автоматически сортируются по основному потоку пользовательского интерфейса, поэтому безопасно взаимодействовать с пользовательским интерфейсом. Если у вас нет пользовательского интерфейса, то зачем использовать BackgroundWorker? ... где возникает необходимость в этом? Существуют и другие варианты, такие как ручное создание [Threads] (https://msdn.microsoft.com/en-us/library/system.threading.thread (v = vs.110) .aspx) или с помощью [Задачи] (https://msdn.microsoft.com/en-us/library/system.threading.tasks.task(v=vs.110).aspx). –
Спасибо за ваш быстрый и проницательный ответ !!! «Необходимость» исходит из того факта, что я унаследовал приложение ** Windows Forms **, которое использует ** BackgroundWorker **, и мне было необходимо, чтобы он подключался к другому приложению в ** asp.net Web-API **. Однако эти две структуры не могут говорить напрямую. Итак, я пытаюсь извлечь код из приложения Windows Forms, чтобы поместить его в ** «чистое» приложение C# **. Каково ваше предложение между двумя вариантами: «Темы и задачи»? – ekremer
Нить - это старый школьный способ сделать это. Если у вас нет веских оснований быть «старой школой», тогда обязательно научитесь использовать Задачи. Тем не менее, см. [Блог SLaks] (http://blog.slaks.net/2013-10-11/threads-vs-tasks/) для более подробной информации о Task vs. ThreadPool. –