2009-09-21 4 views
1

Windows 서버에서 DOMAIN\username으로 실행되는 C# .NET 서비스가 있고 네트워크 공유 \\share\export docs$\에 액세스해야합니다..NET (2.0) 서비스에서 네트워크 공유를 볼 수 없습니다.

내가 컴퓨터에 로그인 한 경우 (DOMAIN\username) 공유를 볼 수 있으며이를 X:에 매핑하여 사용하려고 시도했습니다. app.config에 경로를 설정하고 서비스를 다시 시작합니다. C:에 경로를 사용하면 \\share\export docs$\ 또는 X:\을 사용해도 액세스 할 수있는 파일이 보이지 않습니다.

는 둘 다 로컬 사용자로 내가 잘못된 일을 할 수있는 어떤 DOMAIN\username 어떤 아이디어

으로 서비스를 실행하는 시도?

편집 : 스택 트레이스 로그에서이 : System.Net.Mail.Attachment..ctor (문자열 파일 이름)에서

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) 

닷넷에서

+0

로그가 있습니까? 서비스가 UNC에 액세스하려고하면 어떤 오류 메시지가 나타 납니까? –

+0

공유에있는 파일의 사용 권한을 확인하십시오. 사용자가 파일에 접근 할 수는 있지만 공유 할 수는 없습니다. –

+1

파일에 액세스하려면이 공유를 추가해야합니다. 커맨드 라인에서는 Win32 API에서'net use'를 사용합니다.'WNetAddConnection3'입니다. –

답변

1

매핑 된 드라이브는 약간의 버그가 있습니다. 그러나 이러한 유형의 상황은 여기에있는 질문에서 상당히 드러납니다. UNC 경로를 지정하는 것이 좋습니다.

이 질문은 귀하가 요청한 것과 완전히 다른 질문이지만이 게시물은 귀하의 질문과 관련되어 있으며 도움이 될 것입니다.

How do I access a file share programattically

+0

유망 해 보인다. 고마워. 아마 조금 더 열심히 검색해야합니다. – rojoca

+0

더 열심히 검색하는 것에 대해 걱정하지 마십시오. 내 생각에 그것은 좋은 생각이지만, 그것을 찾지 못해서 차버리지 마십시오. 질문은 다르게 표현되었으므로 찾기가 어려웠습니다. 나는 방금 그걸 보았고 내 머리 속에서 신선했다. – David

0

도메인 \ 사용자 이름 "해야한다"작품으로 서비스를 실행합니다.

계정에 "서비스로 로그인"권한이 있습니까?

+0

예, 서비스 권한으로 로그인했습니다. – rojoca