PDA

مشاهده نسخه کامل : چه راهکارهایی برای محافظت از بکاپ vss در سی شارپ وجود داره؟



SajjadKhati
08-01-19, 18:21
سلام
توی برنامه ام از بکاپ vss _ shadow copy استفاده میکنم .
برای محافظت از بکاپ ها (اینکه پروسه ی دیگه ای جز پروسه ی برنامه ی خودم که بکاپ را ایجاد کرد ، نتونه به بکاپ ها دسترسی پیدا کنه یا حذف شون کنه حالا به هر روشی) ، یک راه استفاده از متد CoInitializeSecurity بود اما چون متد main در سی شارپ از اتریباتس STAThread استفاده میکنه و این اتریباتس هم درون خودش بصورت ضمنی ، متد CoInitializeSecurity را فراخونی میکنه و باز هم چون این متد فقط یکبار در هر پروسه باید فراخونی بشه وگرنه نادیده گرفته میشه ، نمیتونم در سی شارپ استفاده کنم .
این اتریباتس STAThread را هم برای متد main در سی شارپ نادیده بگیرم ، چون نخ اصلی از نوع MultiThreadApartment استفاده خواهد کرد و این هم فقط یکبار مقداردهی میشه و زمانی که پروسه اجرا بشه یعنی در درون متد main هم نمیشه نوعش تغییرش داد (و نوعش را SingleThreadApartment کرد) ، و نوع MultiThreadApartment با نوع متدهای com ای مثل CoInitializeSecurity ممکنه سازگاری نداشته باشه یا با com های دیگه ای که بعدا ممکنه استفاده کنم ، سازگاری نداشته باشه ، باز هم نمیتونم این اتریباتس STAThread را حذف کنم و در سی شارپ استفاده کنم .

حالا میخواستم بپرسم راهکاری واسه ی این قضیه و محافظت از بکاپ ها (مثل پادویش) ، در سی شارپ وجود داره؟ اگه آره ، راهکارش چیه؟
ممنون