سؤال

في كل مرة أقوم بإنشاء كائن FileInfo والوصول انها lastaccesstime الملكية, انها دائما بضع دقائق بعيدا.ملف الممتلكات نافذة تزال مستمرة, لكن التطبيق يظهر أنه عادة بعد بضع دقائق من الملكية نافذة الوقت.

أيضا لاحظت أنه إذا كنت اسحب الملف إلى نافذة cmd لتمرير الملف كحجة الحصول على تحديثات في الوقت معظم الوقت ، ولكن ليس دائما.

ما يمكن أن يسبب هذا ؟

وفيما يلي مثال على ذلك:

static void Main(string[] args)
{
    if (args.Length > 0)
    {
        FileInfo fi = new FileInfo(args[0].ToString());
        Console.WriteLine(args[0]);
        if (fi.Exists)
        {
            Console.Write("Current: " + DateTime.Now + "\n");
            Console.Write("LAT: " + fi.LastAccessTime + "\n");
            Console.Write("LWT: " + fi.LastWriteTime + "\n");
            Console.Write("CT: " + fi.CreationTime + "\n");
        }
        Console.ReadKey();
    }
}

النص البديل http://img407.imageshack.us/img407/4728/propertiesox6.png النص البديل http://img380.imageshack.us/img380/7752/appgt0.png

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

المحلول

في تجربتي, اخر وقت الوصول هو مضللة.وفقا http://technet.microsoft.com/en-us/library/cc781134.aspx...

آخر وقت الوصول على القرص ليس هو دائما الحالية لأن NTFS يبحث عن ساعة واحدة الفاصل قبل أن يجبر آخر وقت وصول التحديثات إلى القرص.NTFS أيضا التأخير في كتابة آخر وقت الوصول إلى القرص عند المستخدمين أو برامج القراءة فقط العمليات على الملف أو المجلد ، مثل سرد محتويات المجلد أو القراءة (ولكن لا تغيير) ملف في مجلد.

على ما يبدو في الذاكرة نسخ الصحيح, ولكن في تجربتي, قد تحصل على القيمة المخزنة مؤقتا التي قد تكون خارج التاريخ.أيضا, علما أن آخر وقت الوصول يمكن إيقاف من قبل المستخدم ، يتم إيقاف تشغيل بشكل افتراضي في ويندوز فيستا و 2008.

نصائح أخرى

المقالة MSDN مع المعلومات الأساسية حول ملف مرات وهذا القول عن الملف وقت القرار الأخير اوقات الدخول:

على سبيل المثال ، على الدهون ، وخلق وقت لديه قرار من 10 ميلي ثانية ، كتابة الوقت لديه قرار من 2 ثانية ، والوصول الوقت لديه قرار من 1 يوم (حقا ، تاريخ الوصول).NTFS تأخير التحديثات إلى آخر وقت الوصول لملف بنسبة تصل إلى ساعة واحدة بعد وصول الماضي.

وهذا يعني أن على كل من FAT و NTFS آخر مرة الكتابة عموما لا تكون دقيقة جدا, على الرغم من أنني لست متأكدا بالضبط القيم التي اقتبس صحيحة.

هممم ربما هذا من MSDN:

عندما دعا ، FileSystemInfo المكالمات تحديث وإرجاع مؤقتا معلومات عن واجهات برمجة التطبيقات للحصول على سمات وهلم جرا.على المكالمات اللاحقة ، يجب استدعاء تحديث للحصول على أحدث نسخ المعلومات.

ولكن كنت ترى اللات دائما بضع دقائق في [المستقبل|الماضي]?

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