nyoto
Messages postés47Date d'inscriptionmercredi 3 novembre 2004StatutMembreDernière intervention 2 mai 2006
-
25 nov. 2005 à 11:23
nyoto
Messages postés47Date d'inscriptionmercredi 3 novembre 2004StatutMembreDernière intervention 2 mai 2006
-
28 nov. 2005 à 13:07
Bonjour à tous,
Ne développant pas depuis très longtemps en .Net je galère grave pour créer un service windows récupérant automatiquement à intervalles de temps données des images situées sur le web.
Voilà ci-dessous mon code source, il est important de noter que j'avais à la base codé une application windows et que cette récupération fonctionnait correctement ...
Merci d'avance ...
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;
using System.Net;
using System.Timers;
using System.Threading;
using System.Xml;
using System.Configuration.Install;
using System.Web.Mail;
namespace ServiceFStatsTNT
{
// Cette classe permet de pouvoir compiler le service afin d'en obtenir un executable binaire
// Cependant, ce n'est pas suffisant pour installer le service windows. Ceci permet juste d'avoir un .exe
// Il faudra une etape supplementaire pour installer le service sur votre machine
[RunInstaller(
true)]
public
class MyProjectInstaller: Installer
{
public MyProjectInstaller() :
base()
{
this.Committed +=
new InstallEventHandler(MyProjectInstaller_Committed);
this.Committing +=
new InstallEventHandler(MyProjectInstaller_Committing);
//Instantie les installeurs
ServiceInstaller monServiceInstaller =
new ServiceInstaller();
ServiceProcessInstaller monProcessInstaller =
new ServiceProcessInstaller();
// Le nom du service doit etre egal au nom de la classe ServiceBase dont on derive
//(voir le Public Sub New() de la classe MonService pour comprendre)
TheSaib
Messages postés2368Date d'inscriptionmardi 17 avril 2001StatutModérateurDernière intervention26 décembre 200723 28 nov. 2005 à 12:42
Salut,
Le mapping ne fonctionne pas, donc il faut y mettre le lien complet vers la machine .
Pour explication si le mapping ne fonctionne pas c'est parceque les map sont liés à une session (utilisateur), alors que le service fonctionne indépendamment d'une session utilisateur.
Et verifie que l'arborescence de tes répertoires existent bien. Si un répertoire n'existe pas essaye de le créer.
nyoto
Messages postés47Date d'inscriptionmercredi 3 novembre 2004StatutMembreDernière intervention 2 mai 2006 25 nov. 2005 à 12:22
Oui ok j'ai pa exactement tout dit ...
Il semblerait après mise en place et lancement du service que clui-ci tente de faire son job mais il bloque lors de l'écriture de la première image et si on regarde l'emplacement de destination, un fichier image est bien créé mais il est vide et les autres images ne sont pas traités ...
nyoto
Messages postés47Date d'inscriptionmercredi 3 novembre 2004StatutMembreDernière intervention 2 mai 2006 25 nov. 2005 à 12:30
Oui ... Une exception s'est produite lors d'une demande Webclient (ça je m'en doutais ...) mais pas plus d'infos hélas ...
Je nage grave et je bloque dessus depuis hier ... puis je ne suis qu'un newb !!!
TheSaib
Messages postés2368Date d'inscriptionmardi 17 avril 2001StatutModérateurDernière intervention26 décembre 200723 25 nov. 2005 à 12:44
JE pense que le problème vient du fait que le service tourne avec l'utilisateur "Local System" qui n'a pas les droits d'acceder au réseau et par conséquence de telecharger le fichier sur le net.
nyoto
Messages postés47Date d'inscriptionmercredi 3 novembre 2004StatutMembreDernière intervention 2 mai 2006 25 nov. 2005 à 13:03
Ben paske j'my connais pas encore en XML ... mais effectivement c'est une façon différente d'aborder le prob !!!
Je déj, je teste ta soluce et j'te tiens au courant ...
En tout cas merci du coup de main !!!
TheSaib
Messages postés2368Date d'inscriptionmardi 17 avril 2001StatutModérateurDernière intervention26 décembre 200723 25 nov. 2005 à 15:41
Le lock va permettre l'accès au bloc de code sous jacent qu'a un seul et unique thread. Si ton timer veut rentrer dans le code sous jacent alors que le tick precedent n'est pas fini, il sera refoulé. Du coup tu n'aura pas d'erreur du genre "un processus accède déjà à la ressources" (en l'occurence ton image).
lock(this)
{
// CréatiBon d'un objet WebClient (c'est lui qui permet de télécharger un fichier)
TheSaib
Messages postés2368Date d'inscriptionmardi 17 avril 2001StatutModérateurDernière intervention26 décembre 200723 25 nov. 2005 à 16:56
Si tu veux debugger ton service, va dans ou outil, debugger les processus et cherche ton service. Il s'arretera à tes Breakpoints et tu pourra comprendre tes erreurs.
nyoto
Messages postés47Date d'inscriptionmercredi 3 novembre 2004StatutMembreDernière intervention 2 mai 2006 25 nov. 2005 à 17:18
Impossible de faire tourner ça dans mon réseau ... en local j'ai la même , un fichier commence a être écrit puis il pèse 0 Ko !!!
Ok je crois que j'vai rentrer me reposer à la maison là .. j'en peux plus !!!