IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Accès répertoire réseau depuis service Windows


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 183
    Points : 89
    Points
    89
    Par défaut Accès répertoire réseau depuis service Windows
    Bonjour, je suis très embêté.

    Je développe un petit service windows devant accéder à une ressource réseau avec identifiants.
    Quand j'exécute le code depuis une application console, tout marche très bien.

    Par contre le même code avec mon service Windows et j'obtiens l'erreur "Access to the path '\\IP\SharedFolder\Documentation\test.csv' is denied."

    Voici mon code, j'ai tout d'abord utilisé cette class : http://lookfwd.doitforme.gr/blog/med...sNetworking.cs

    Puis je l'ai intégré de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
                    p.connectToRemote(@"\\IP\SharedFolder\Documentation\", "login", "password");
                    System.IO.StreamWriter file = new System.IO.StreamWriter(@"\\IP\SharedFolder\Documentation\" + "test.csv", true);
                    p.disconnectRemote(@"\\IP\SharedFolder\Documentation\");
    Je comprend bien qu'une application console tourne sous une session windows et pas le service mais j'ai lu qu'avec la classe "PinvokeWindowsNetworking" cela devait marcher. Je suis à court d'idées .

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 183
    Points : 89
    Points
    89
    Par défaut
    J'ai trouvé la solution, il faut forcer le service à se connecter avec un compte spécifique car il est en compte local par défaut.

    On peut soit écrire dans le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
            public ProjectInstaller()
            {
                InitializeComponent();
                ServiceProcessInstaller serviceProcessInstaller1 = new ServiceProcessInstaller();
                serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.User;
                serviceProcessInstaller1.Username = @"Domain\Login";
                serviceProcessInstaller1.Password = "Password";
            }
    Ou soit en allant dans les propriétés du service (depuis la liste des services).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Accès à l’écran depuis un Service Windows
    Par Corentin78 dans le forum Services Windows
    Réponses: 1
    Dernier message: 18/11/2010, 00h27
  2. se connecter à un lecteur réseau via service windows
    Par Tiger44 dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 27/01/2010, 19h41
  3. MessageBox depuis Service Windows
    Par jacky01 dans le forum Windows Forms
    Réponses: 8
    Dernier message: 21/09/2009, 09h35
  4. Réponses: 1
    Dernier message: 27/01/2009, 14h24
  5. [Service windows] accès au réseau?
    Par djidane39 dans le forum Web & réseau
    Réponses: 5
    Dernier message: 28/10/2008, 14h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo