تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 2 از 2 اولاول 12
نمايش نتايج 11 به 11 از 11

نام تاپيک: قفل فايل در حد حرفه‌اي.... حتي نشه فايل رو كپي كرد!

  1. #11
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    با توجه به کدهای بالا اگه برنامه ما به هر نحوی بسته بشه، فایل ما قابل حذف،کپی،جابجایی و . . . هست؟
    با اطمینان نمیتوانم جواب قطعی دهم.
    ولی در دات نت با توجه به حافظه مدیریت شده و جمع آوری کننده حافظه هرز بسیار بعید است فایل همچنان قفل بماند.

    یعنی حتی با هنگ کردن و عدم اجرای دستور close یا dspose هم بالاخره برنامه جاری از RAM خارج میشود و نهایتاً جمع آوری کننده حافظه هرز اشیای باقی مانده را پاک سازی میکند و قفل فایل باز میشود.
    (
    البته این مطلب اصلاً توجیح خوبی برای یک برنامه قانونی و مجاز نیست که برنامه نویس تنبلی کند و تضمینی بر اجرای Dispose ارائه ندهد.
    در یک برنامه عادی و به توسیه مایکروسافت شی ای که واسط IDisposable را دارد، برنامه نویس باید تضمین کند Dispose اجرا شود.
    )

    ولی در مورد کدهای Native با توجه به اینکه بازکردن یک فایل فقط یک اشاره گر عددی 32 بیتی باز میگرداند، احتمالاً اگر خو.د برنامه اشاره گر را نبندد، اشاره گر و RAM تخصیص داده شده و قفلها و... تا ریست بعدی پابرجا میماند.
    که قالباً شاهد آن هم هستیم و فایلی را میخواهیم پاک کنیم ولی ویندوز میگوید دارد استفاده میشود و پاکش نمیکند! در حالی که برنامه ای که فایل را استفاده میکرده ما بسته ایم.
    (جالب است که این مشکل آنقدر اعصاب برخی را خرد کرده که برای رفع این مشکل یک شرکت یک برنامه سفارشی عرضه کرده تا قفل را باز کند و بتوانید فایل را بدون ریست حذف کنید!!!)

    =====

    در مورد بخش دات نتی همین الآن چند بار چک کردم و با بسته شدن برنامه بدون اجرای Dispose و حتی EndTask برنامه، هربار قفل فایل آزاد و فایل مجدداً قابل ادیت و دستکاری بود.

    موفق باشید.

  2. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


صفحه 2 از 2 اولاول 12

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •