2010-10-01 45 views
31

System.ServiceProcess.ServiceProcessInstaller ve System.ServiceProcess.ServiceInstaller arasındaki farkı anlamıyorum. Meta verilerden: ilki bir yürütülebilir dosyayı, diğeri ise bir sınıfı yükler. Bir ServiceProcessInstaller ve farklı ServiceName (ler) ile iki ServiceInstaller (ler) olduğu MSDN örneğini okuduktan sonra tamamen kayboldu.ServiceProcessInstaller ve ServiceInstaller arasındaki fark

Net bir açıklaması var mı?

cevap

42

Bir yürütülebilir dosyanın gerçekte birden fazla hizmet içermesi mümkündür. Böyle bir durumda, her hizmeti temsil eden bir ServiceInstaller'ınız olabilir, ancak yürütülebilir dosyayı temsil eden tek bir ServiceProcessInstaller.

Her hizmet (.NET'te) farklı bir sınıf olarak uygulanır. Ancak, birden fazla hizmet (hepsi başladıysa) bir AppDomain'i paylaşırdı (inanıyorum). Bu tür bir kurmaya gereksinim duymanız muhtemelen oldukça nadirdir ve çoğu durumda, yürütülebilir ve hizmetler arasında bir 1-1 eşlemesi vardır (bu nedenle yalnızca yürütülebilir bir ServiceInstaller ve ServiceProcessInstaller'ı kullanabilirsiniz).