Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

c# File.SetLastWriteTime funktioniert nicht richtig

Empfohlene Antworten

Veröffentlicht

Hallo

ich hab hier ein kleines problem/phänomen.

Also ich hab ein Dokumentenmanagementsystem und möchte da nun Dateien exportieren und die LastWriteTime setzten. Das Funktioniert für die meisten Dateien auch sehr gut, außer wenn ich .eml-Dateien exportiere. Bei denen wird immer die aktuelle Zeit verwendet.

Der Code sieht folgendermaßen aus:


using (Stream output = System.IO.File.Create(path)) {

   FileUtils.Copy(input, output);

}

System.IO.File.SetLastWriteTime(path, element.FileSystemLastWriteTime);

Wenn ich allerdings vor dem Aufruf des "SetLastWriteTime" ein Thread.Sleep(2500) einbau, wird das Datum korrekt gesetzt. Das ist allerdings nicht tragbar, weil dieser Abschnitt sehr oft aufgerufen wird und dann jedes mal 2,5 sekunden zu warten ist nicht praktikabel.

Hat jemand eine idee, wie man das am geschicktesten lösen kann???

Hi,

Mir fällt hier auf Anhieb auch nicht viel dazu ein. Jedoch kenne ich eine Lösung, die jedoch nicht besonders schön ist.

Versuche die Sleeptime herrunter zu setzen. Vielleicht reicht ja sogar eine sehr geringe Zeitspanne.

Dies allein ist natürlich immer noch unpraktikabel. Frag doch einfach ab, welche Endung die Dateien haben. Wenn es dieser spezielle Fall ist, dann aktiviere die Sleep.

LG

  • Autor

Das mit dem 2,5 Sekunden ist leider kein zufälliger Wert. Mir ist das Probelm bei debuggen aufgefallen, weil da sinds ja immer mehrere Sekunden. Ich hab mich dann von 1 millisekunde hochgearbeitet. und i-wann bin ich dann bei den 2,5 sekunden gelandet.

Welches Betriebssystem? Es gibt einige Fundstellen im Web, die darauf hinweisen, dass Windows Live Mail oder der Indexdienst dafür verantwortlich sein könnte.

Die 2,5 Sekunden rühren vermutlich daher, dass, wer auch immer die Dateien anfasst, danach damit fertig ist. Das ist aber keine dauerhafte Lösung.

  • Autor

Hab mittlerweile herausgefunden, wer auf die datei zugreift. es ist der windows-explorer. Er fügt der Datei metainformationen hinzu. Es wird auch das outlook-symbol bei den eml-dateien angezeigt.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.