سؤال

هل هناك فرق بين هذا (المثبت المتداخل)

ServiceInstaller si = new ServiceInstaller();
si.ServiceName = "MyService";

ServiceProcessInstaller spi = new ServiceProcessInstaller();
spi.Account = ServiceAccount.LocalSystem;

spi.Installers.Add(si);

this.Installers.Add(spi);  

وهذا؟(المثبت المعاملات)

TransactedInstaller ti = new TransactedInstaller();

ServiceInstaller si = new ServiceInstaller();
si.ServiceName = "MyService";
ti.Installers.Add(si);

ServiceProcessInstaller spi = new ServiceProcessInstaller();
spi.Account = ServiceAccount.LocalSystem;
ti.Installers.Add(spi);

this.Installers.Add(ti);   

هل يتم التعامل مع المثبت المتداخل بشكل افتراضي؟ما هو النمط الذي يجب تفضيله؟

هل كانت مفيدة؟

المحلول

TransactedInstaller سيتم استدعاء الالتزام/التراجع تلقائيًا في حالة نجاح/فشل الإجراء المخصص.

مع المثبت المتداخل ستحتاج إلى تسلسل التراجع/الالتزام بنفسك في حالة حدوث خطأ، ولن يتم استدعاؤهم إذا لم تطلب منهم صراحةً التشغيل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top