AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FileExists / Caching Problem

Ein Thema von TommyLo · begonnen am 17. Feb 2014 · letzter Beitrag vom 17. Feb 2014
Antwort Antwort
TommyLo
(Gast)

n/a Beiträge
 
#1

FileExists / Caching Problem

  Alt 17. Feb 2014, 11:00
Delphi-Version: 2007
Hallo zusammen,

ich habe das Problem das FileExists eine Datei nicht findet, obwohl sie vorhanden ist. (Umgebung: Client: Win8.1, Server: Win2008).
Im konkreten Beispiel erstelle ich die Tabelle per SQL und prüfe im Anschluss ob sie existiert. FileExists sagt daraufhin nein. Habe FileExists in einer Schleife prüfen lassen, erst nach 5 Sekunden dann das Ergebnis: "vorhanden".
Habe dafür genügend Beispiele, neu erstellte Textdatei soll mit RenameFile umbenannt werden => ErrorCode 2 FileNotFound. Immer das gleiche. Nach einem Sleep von 5 Sekunden funktioniert es dann, aber das kann nicht die endgültige Lösung sein.

Sieht für mich ganz nach dem bekannten SMB Redirector Caching Problem aus, vgl. hierzu: http://blogs.msdn.com/b/winsdk/archi...r-smb-2-0.aspx

D.h. das FileExists wird nicht erneut auf dem FileServer aufgerufen, sondern das Ergebnis aus dem lokalen Cache verwendet.

Wenn man nun nach Lösungsvorschlägen sucht, wird überall gasagt das man die Registrierungs Einträge (z.B. FileNotFoundCacheLifetime) entsprechend auf 0 setzen soll.
Das kommt aber für meine Applikation nicht in Frage.

Habe Ihr auch solche Probleme, bzw. Erfahrungen?
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.004 Beiträge
 
Delphi 2009 Professional
 
#2

AW: FileExists / Caching Problem

  Alt 17. Feb 2014, 11:04
Wenn die Konfigurationsänderung der CahceLifeTime nicht möglich ist: wo liegt das "Folge-"Problem, ist es für die Benutzer störend, lange warten zu müssen?
Ähnliche Probleme hat man bei Internetzugriffen auf entfernt liegende Server, eine Lösung ist dann, die potentiell lang dauernde Aktion in einen Thread auszulagern.
Michael Justin

Geändert von mjustin (17. Feb 2014 um 11:07 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther
Online

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: FileExists / Caching Problem

  Alt 17. Feb 2014, 11:21
Ich hätte auch gesagt, dass ist doch mehr oder weniger auch das vom Benutzer erwartete Verhalten.

Was ich nicht ganz durchschaue: "erstelle ich die Tabelle per SQL und prüfe im Anschluss ob sie existiert". Willst du an die Rohdaten, was ein Datenbanksystem auf dem Server auf die Platte schreibt?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: FileExists / Caching Problem

  Alt 17. Feb 2014, 11:23
Aus Sicherheitsgründen sollten aber die Dateien eines DBMS nicht in einer Freigabe liegen.
Um welches DBMS handelt es sich den?
Markus Kinzler
  Mit Zitat antworten Zitat
TommyLo
(Gast)

n/a Beiträge
 
#5

AW: FileExists / Caching Problem

  Alt 17. Feb 2014, 11:56
Hi, danke schon mal soweit.

Mein grundsätzliches Problem betrifft aber nicht die Datenbank. Wir haben ein Client / Server basierendes ApplikationsSystem, die Daten liegen auf einem FileServer das der User als Share eingebunden hat.
Nehmen wir mal eine ganz normale Textdatei. Ich prüfe ob die Datei existiert, FileExists sagt Nein.
Danach erstelle ich die Datei und führe anschließend FileExists wieder durch. Das Ergebnis ist nun immernoch Nein. Genau fünf Sekunden lang bis zum CacheLifeTime.

Klar, ich kann jetzt ein Sleep von 5 Sekunden einbauen, aber ich hatte gehofft das dies auch eleganter gelöst werden kann. Bzw. es vielleicht irgendein API Aufruf gibt, der unabhängig vom Cache prüft.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz