우리는 Visual Basic .NET에서 개발 된 매우 강력한 프로그램을 보유하고 있으며 전체 프로그램을 기본적으로 단일 개체로 나타내는 API를 만들었습니다. 이것은 꽤 잘 작동하며 수년간 사용해 왔습니다. 그러나 이제는 여러 인스턴스를 사용할 수있는 프로젝트가 생겼습니다.광범위하게 사용되는 프로젝트를 다중 인스턴스 화
문제는 코드베이스에 시작 모듈의 전역 변수 (gSvcMgr)에 대한 광범위한 참조가 있다는 것입니다. 이 객체 참조의 여러 인스턴스를 다른 변수로 만들려면 어떻게해야합니까? 네임 스페이스를 사용할 수 있습니까? 또는 Shadows 키워드?
내가 명확하지 않거나 세부 사항이 도움이 될 경우 구조를 더 자세히 설명 할 수 있습니다.
전역 옵션을 리팩토링하는 것이 유일한 옵션 인 경우 문제가되지 않지만 매우 큰 코드 기반과 소수의 개발자가 있습니다.
감사합니다.
음 ... 해당 스레드에서 개체의 각 인스턴스를 만들고 모든 전역 변수를 [thread-static]으로 표시합니다. (http://msdn.microsoft.com/en-us/library/system.threadstaticattribute (v = vs.90) .aspx)? – GSerg
왜 이것을 답으로 표시하지 않았는지 모르겠지만 제안에 감사드립니다. 이것이 Module 변수에서 작동하는지 알 수는 없지만 내일 사무실에 도착하면 시험해 보겠습니다. – FellowMD
나는 이것이 완전히 작동하는지 확신 할 수 없기 때문에 답변을하지 않았다. – GSerg