У меня есть DLL, которую я хотел бы запустить в фоновом режиме. Итак, в приложении C # я сначала хотел бы запустить этот процесс в выбранной DLL, а затем позволить моему приложению продолжить выполнение процессов DLL в фоновом режиме.
Я видел несколько статей и сайтов, но не уверен, какой путь лучше всего выбрать.
У кого-нибудь есть идеи?
Ура
2 ответа
DLL не является процессом и не может быть запущена сама по себе. Однако вы можете спроектировать службу Windows и обернуть код службы вокруг вызова DLL, чтобы функциональность была доступна в виде непрерывно выполняющегося фонового процесса.
http://msdn.microsoft.com/en-us/library/d56de412(v=vs.80).aspx
Предполагая, что вы заранее выбираете .dll (статическая привязка):
Добавьте .dll в качестве ссылки в свой проект. Затем вызовите MyDll.Core.Start();
, где MyDll - это пространство имен по умолчанию для вашей .dll, а Core - это класс .cs, а Start () - это функция, которую вы определили, которая выполняет ThreadPool.QueueUserWorkItem(new WaitCallback(DoWork), null);
, а DoWork выполняет вашу фактическую фоновую работу.
Предполагая, что вы хотите, чтобы конечный пользователь выбрал .dll из приложения (позднее связывание):
См. http://www.c-sharpcorner.com/Uphaidar/samsung. LateBindingWithReflection09122005053810AM / LateBindingWithReflection.aspx и измените GetUserName
в примере на Start
, чтобы он соответствовал моему примеру выше.
Похожие вопросы
Новые вопросы
c#
C# (произносится как «see Sharp») — это высокоуровневый мультипарадигменный язык программирования со статической типизацией, разработанный Microsoft. Код C# обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, которое включает в себя .NET, .NET Framework, .NET MAUI и Xamarin среди прочих. Используйте этот тег для ответов на вопросы о коде, написанном на C#, или о формальной спецификации C#.