2011-02-16 10 views
1

백그라운드 프로세스로 실행하려는 DLL이 있습니다. C# 응용 프로그램에서는 먼저 선택한 DLL에서이 프로세스를 실행하고 내 응용 프로그램이 백그라운드에서 실행중인 DLL 프로세스를 계속 진행하게합니다.DLL에서 백그라운드 비동기 프로세스를 실행하십시오.

몇 가지 기사와 사이트를 보았지만 어느 것이 가장 적절한 경로인지 확실하지 않았습니다.

누구든지 아이디어가 있습니까?

건배

답변

1

DLL은 처리하지 않고 자체를 실행할 수 없습니다. 그러나 DLL 호출을 중심으로 Windows 서비스를 설계하고 서비스 코드를 랩핑하여 지속적으로 실행되는 백그라운드 프로세스로 기능을 사용할 수있게 할 수 있습니다.

프로젝트에 참조로 .DLL을 추가

http://msdn.microsoft.com/en-us/library/d56de412(v=vs.80).aspx

+0

예, 저 말은, 늦어서 미안 해요. Sd – Funky

0

당신이 (정적 바인딩) 사전에 .DLL을 선택하는 가정. 그런 다음 MyDll.Core.Start();을 호출합니다. MyDll은 .dll의 기본 네임 스페이스이고 Core는 .cs 클래스이고 Start()는 ThreadPool.QueueUserWorkItem(new WaitCallback(DoWork), null);이고 DoWork는 실제 배경 작업을 수행하는 정의한 함수입니다.

당신이 (런타임에 바인딩) 최종 사용자가 응용 프로그램 내에서 .DLL을 선택합니다 가정 :

http://www.c-sharpcorner.com/UploadFile/samhaidar/LateBindingWithReflection09122005053810AM/LateBindingWithReflection.aspx를 참조 위 내 예에 맞게 Start에 예에서 GetUserName을 변경합니다.

관련 문제