Bonjour

Le code ci-dessous est appellé dans une bouclre de polling
Il ouvre systématiquement des fichier qui se trouvent de toute facon sur le serveur local
Le chemin exact est @"http://localhost/images/1234.trk";

Pour eviter d'ouvrir et de faire tout un process inutile si le fichier n'as pas bougé depuis 1 jour j'ai l'intention d'ajouter le code en commentaire

Mais ce qui me chifonne c'est que l'ouverture normale se fait via un WebClient
Or pour ma par j'ai l'intention de simplement faire un File.GetLastWriteTime(url);

Fais-je une erreur qq part ?

Merci de votre aide



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
  public class SAccess
  {
    private const string GetLastPositionUrl = @"http://localhost/images/{0}.trk";
    private const string GetAddressUrl = @"http://192.168.1.88/webform1.aspx?rGeo=getaddress&latitude={0}&longitude={1}";
 
    public static string GetLastPosition(string deviceName)
    {
      string url = string.Format(GetLastPositionUrl, deviceName);
 
//      DateTime dt = File.GetLastWriteTime(url);
//      TimeSpan TS=DateTime.Now.Subtract(dt);
//      {
//        if (TS.Days > 0)
//        {
//          return string.Empty;
//        }
//      }
      WebClient client = new WebClient();
 
      client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
      Stream data = client.OpenRead(url);
      StreamReader reader = new StreamReader(data);
      String sTemp = reader.ReadToEnd();
      data.Close();
      reader.Close();
 
      int iLengthString = sTemp.Length;
      sTemp = sTemp.Substring(0, iLengthString - 2);  // Remove the last carriage return
      int iLastSpace = sTemp.LastIndexOf("\n");
      return sTemp.Substring(iLastSpace + 1);  // Retrieve the last line by splitting at the last carrage return
    }
  }