개체가 생성되는 프로세서가 다릅니다.

 

Library 방식은 호출자의 프로세서 내에 생기지만 Server 방식은 다른 프로세스(Dllhost.exe)에서 생성되어 서비스됩니다.

 

Server 방식일 경우

참조하고 있는 개체가 혹시나 죽어버려도 호출자 프로세스에 영향을 안미쳐서 안전성에 좋지만,

다른 프로세스에 있는 개체를 원격 호출하기 때문에 느린 단점이 있습니다.

 

Library 방식일 경우

참조하고 있는 개체가 죽어버리면 속해 있는 프로세스도 같이 죽을 수도 있지만,

같은 프로세스 내에서 생성되기 때문에 속도가 빠릅니다.

 

하지만, .NET 런타임은 안전한 환경(AppDomain을 통한 격리 환경, 예외 처리)을 제공하기 때문에 .NET을 기반으로 하는 MS 제품을 살펴보면 전에 Server 방식으로 제작되었던 부분도 Library방식으로 제작되는 것을 볼 수 있습니다.

+ Recent posts