كيفية استخدام سعة التخزين المؤقتة في التطبيق بشكل صحيح

StackOverflow https://stackoverflow.com/questions/1939668

  •  20-09-2019
  •  | 
  •  

سؤال

أنا في حاجة مرة أخرى لإدارة مجلد مؤقت حيث أجزاء من مستندات متجر التطبيقات لدينا ، على سبيل المثال بين الطباعة والاستيراد إلى DMS.

يجب حذف هذه الملفات عند إيقاف تشغيل التطبيق ، بشكل مثالي عند بدء التطبيق أيضًا ، فقط في حالة حدوث خطأ ما.

لقد فكرت للتو في تنفيذ فئة بسيطة IDisposable يمكن استخدامها داخل MAIN () مع بيان استخدام () ، ولكن بطريقة ما هذا يبدو متسخًا. استخدام Directory.Delete(path, true); داخل كتلة الصيد التي تمسك الجميع IOExceptionلم يعمل S حقًا بشكل موثوق في الماضي.

أي آراء حول كيفية تنفيذ مثل هذه الميزة بالطريقة الذكية؟ أي توصيات؟

المسار الفعلي للاستخدام غير ذي صلة بنا ، لكننا نستخدمه %AppData%\[Programname]\Temp الآن.

هل من الممكن إنشاء ملفات مؤقتة حقًا على Windows يتم حذفها عند إيقاف التشغيل؟

شكرا لوقتك.

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

المحلول

لا أرى مشكلة في استخدام نهج Idisposable. هناك بديل آخر هو استخدام المحاولة ، وأخيراً قم بحظرها في منطقة الإغلاق من الكود وإدراج رمز التنظيف في الكتلة الأخيرة ، لضمان تنفيذها. المشكلة الوحيدة هي إذا كنت تستخدم تطبيقًا متعدد الخيوط ، فقد ترغب في إعداد معالج حدث AppDomainUnHandleDlexception.

نصائح أخرى

مجرد إشعار. يحتوي Windows على مجلدات خاصة لملفات Temp: واحدة في ملف تعريف المستخدم وواحد Windows Temp.

كما ترى ، إذا لم يتم إزالة برنامج Temp Files لأي سبب من الأسباب ، فسيتمكن المستخدم من القيام بذلك باستخدام أداة تنظيف Disk Windows.

يبدو أن Windows لا يحتوي على درجة حرارة تميل ذاتيًا كما في *nix. لكنني وجدت http://www.tek-tips.com/viewthread.cfm؟qid=1314337&page=1. هناك أشخاص يقترحون كتابة نص مخصص سيتم تنفيذه على LOGOFF. أتمنى أن يساعدك هذا.

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