Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

c# Datum van bestand ophalen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

ik ben bezig met een programma dat xml files download van een bepaalde plek op internet.
Dit omdat het programma op meerdere locaties draait en steeds oproepbaar moet zijn.
Er kan helaas niet met een database gewerkt worden dus dit is uitgesloten.

Ik wil nu echter alleen een bestand ophalen als het nieuwer is als wat ik al reeds binnen heb.
Graag zou ik dus eerst de datum van het bestand willen weten op internet.
Lokaal is het goed te doen met de File class.

Alleen het bestand online kan ik zo niet controleren...

Heb reeds gezocht hier op GOT en google maar vond alleen de File class voor lokale bestanden..

Wie heeft er de gouden tip voor me....

  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05 09:40

GX

Nee.

Ik denk dat je bent toegewezen op een datum of versie in de filename; de datum van een file controleren gaat bijna alleen maar in opendirs

  • Stamgastje
  • Registratie: April 2003
  • Laatst online: 02-02-2020
Je moet gewoon een HEAD commando naar de HTTP server sturen. Voorbeeldje (even typen in een command prompt - waar [Enter] staat even op Enter drukken ;)):
code:
1
2
3
telnet sample.com 80[Enter]
HEAD /test.jpg HTTP/1.1[Enter]
host: sample.com[Enter][Enter]

De response:
code:
1
2
3
4
5
6
7
8
HTTP/1.1 200 OK
Date: Sat, 02 Sep 2006 09:45:13 GMT
Server: Apache/2.0.55 (Debian) PHP/5.1.4-0.1 mod_ssl/2.0.55 OpenSSL/0.9.8
Last-Modified: Fri, 17 Jun 2005 20:16:18 GMT
ETag: "11-2d12-a89d8880"
Accept-Ranges: bytes
Content-Length: 11538
Content-Type: image/jpeg

Je moet dus de "Last-modified" header gebruiken, indien deze teruggegeven wordt. Anders kun je de datum helaas niet achterhalen. En uiteraard moet je deze communicatie even in een C# jasje gieten. ;)

[ Voor 35% gewijzigd door Stamgastje op 02-09-2006 11:48 ]


  • Twilight Burn
  • Registratie: Juni 2000
  • Laatst online: 12-11 13:11
Ik denk dat het het slimst is om een datum in het bestand te zetten en dat te controleren. Anders kun je in problemen komen als de klok op de server en de andere computers niet synchroon loopt.

  • Stamgastje
  • Registratie: April 2003
  • Laatst online: 02-02-2020
Twilight Burn schreef op zaterdag 02 september 2006 @ 11:44:
Ik denk dat het het slimst is om een datum in het bestand te zetten en dat te controleren. Anders kun je in problemen komen als de klok op de server en de andere computers niet synchroon loopt.
Uhm, juist... en wie zet de datum in het bestand? De server? ;)

Waarschijnlijk is het namelijk een scriptje of periodiek uitgevoerd programma dat op de server draait en de XML files genereert. TS, correct me if I'm wrong.

Verwijderd

Topicstarter
meerdere mensen kunnen in de xml files werken.

Dus wanneer pietje er een wijziging aan heeft gemaakt moet jantje hem later opnieuw downloaden zodat hij die wijzigingen ook heeft.

Ik heb al wel iets voor elkaar dat hij niet gedownload kan worden wanneer een user hem geopend (lees gedownload) heeft voor hij ermee klaar is (lees geupload, of geannuleerd)

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:41

gorgi_19

Kruimeltjes zijn weer op :9

Stamgastje schreef op zaterdag 02 september 2006 @ 11:50:
[...]

Uhm, juist... en wie zet de datum in het bestand? De server? ;)
Erhm.. Ja? :P Maak een .ashx bestand (met een cachedependency op dat betreffende bestand) en laat die door de FileInfo class de laatst gewijzigde datum ophalen en presenteren?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Twilight Burn
  • Registratie: Juni 2000
  • Laatst online: 12-11 13:11
Stamgastje schreef op zaterdag 02 september 2006 @ 11:50:
[...]

Uhm, juist... en wie zet de datum in het bestand? De server? ;)

Waarschijnlijk is het namelijk een scriptje of periodiek uitgevoerd programma dat op de server draait en de XML files genereert. TS, correct me if I'm wrong.
Wat ik bedoel is dat de datum en tijd op een "client" computer kan verschillen dan die van de server. In dat geval is het mogelijk dat de juiste update niet opgehaald wordt, omdat de datum van het lokale bestand nieuwer is dan het echt is. Door in het bestand zelf een datum/tijd te plaatsen (die van de server of van de PC die het bestand upload oid) en die tijd te vergelijken met de tijd uit het bestand dat de client heeft, omzeil je dat probleem. In plaats van een datum/tijd kun je dan ook een volgnummer gebruiken.
Pagina: 1