2009-09-21 8 views
1

J'ai un service C# .NET qui fonctionne comme DOMAIN\username sur un serveur Windows et il doit accéder à un partage réseau \\share\export docs$\.Le service .NET (2.0) ne peut pas voir le partage réseau

Si je suis connecté à la machine (comme DOMAIN\username), je peux voir le partage et je l'ai même mappé à X: et j'ai essayé de l'utiliser. Je définis le chemin dans app.config (et redémarre le service) et si j'utilise un chemin sur C: cela fonctionne très bien mais si j'essaie d'utiliser \\share\export docs$\ ou X:\ il ne peut voir aucun des fichiers auxquels j'ai besoin d'accéder.

J'ai essayé de courir le service à la fois comme un utilisateur local et que DOMAIN\username

Toutes les idées que je pourrais faire mal?

EDIT: Stacktrace du journal:

Could not find a part of the path 'X:\200909\11324709\coo.pdf'. 
    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) 
    at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy) 
    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) 
    at System.Net.Mail.AttachmentBase.SetContentFromFile(String fileName, String mediaType) 

à System.Net.Mail.Attachment..ctor (String fileName)

+0

Avez-vous des journaux? Quel message d'erreur obtenez-vous lorsque le service tente d'accéder à l'UNC? –

+0

Vérifiez les autorisations sur les fichiers du partage. Il est possible que l'utilisateur puisse atteindre le partage mais pas ses fichiers. –

+1

Vous devez ajouter ce partage pour accéder aux fichiers. En ligne de commande, vous utilisez 'net use', dans l'API Win32,' WNetAddConnection3'. –

Répondre

1

Les lecteurs mappés en .Net sont un peu bogué. Cependant, ce type de situation soulève beaucoup de questions ici. Il vaudrait mieux spécifier le chemin UNC.

Ce n'est pas exactement la même question que vous avez posée, mais ce message est pertinent à votre question et devrait vous aider.

How do I access a file share programattically

+0

On dirait prometteur, merci. Devrait probablement chercher un peu plus difficile. – rojoca

+0

Ne vous inquiétez pas de la recherche plus difficile. Je veux dire que c'est une bonne idée, mais ne te bats pas pour ne pas le trouver. La question a été formulée différemment, ce qui aurait été difficile à trouver. Je viens d'avoir vu celui-là et c'était frais dans ma tête. – David

0

Exécution de votre service en tant que travail "devrait" Domaine \ nom d'utilisateur. Etes-vous sûr que ce compte dispose des droits de "connexion en tant que service"?

+0

Oui, il y a des droits de connexion – rojoca

Questions connexes