2009-10-06 6 views
0

작업 목록이 들어있는 C#에서 dll을 구현해야합니다. 이 DLL의 책임은 이러한 작업을 관리하는 것입니다. 서로 다른 프로세스가이 dll과 상호 작용하며 각 프로세스는 해당 작업을 위해 작업 ID로 식별됩니다.다른 프로세스간에 dll 데이터 공유

하지만 각 프로세스마다 고유 한 dll 데이터 복사본이 있으므로 문제는이 목록을 관리하는 방법입니다. 이 목록은 모든 인스턴스에서 공유해야합니다. 나는 dll 데이터를 공유하기 위해 googled했다. this -

data_seg 접근법은 목록에서 동적으로 추가/삭제 작업을 수행 할 범위가없는 정적 데이터에만 유용하게 보입니다. (내가 틀렸다면 나를 바로 잡으십시오).

메모리 매핑 된 파일을 사용해야합니까? 방금 기본 파일 I/O를 사용하면 어떨까요? 이 작업 목록을 파일로 직렬화 할 생각입니다. 각 프로세스는 FileShare.None set을 사용하여 열 수 있습니다. 이렇게하면 파일 액세스가 상호 배타적이며 파일이 이미 열려 있으면 프로세스가 대기합니다.

어느 것이 더 나은 방법인지 아니면 다른 더 나은 대안인지 알려주십시오.

감사합니다.

답변

1

WCF 서비스에서 dll 호스팅에 대해 생각해 보셨습니까? 그런 다음 앱에서이 서비스에 대한 클라이언트 호출을 할 수 있습니다. 데이터는 호스팅 wcf 프로세스에서 지속될 수 있습니다.

관련 문제