1

Windows サーバー上で実行される C# .NET サービスがDOMAIN\usernameあり、ネットワーク共有にアクセスする必要があります\\share\export docs$\

マシンに(としてDOMAIN\username)ログインしている場合、共有を確認でき、それをマップしX:て使用しようとしました。app.config でパスを設定し (そしてサービスを再起動します)、パスを使用するとC:正常に動作しますが、使用しようとすると、アクセスする必要があるファイルが表示されません\\share\export docs$\X:\

ローカルユーザーととしてサービスを実行しようとしましたDOMAIN\username

私が間違っているかもしれないアイデアはありますか?

編集:ログからのスタックトレース:

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 (文字列ファイル名) で

4

2 に答える 2

1

.Net のマップされたドライブには、少しバグがあります。ただし、この種の状況は、ここでの質問にかなり出てきます。UNC パスを指定した方がよいでしょう。

これはあなたが尋ねた質問とまったく同じではありませんが、この投稿はあなたの質問に関連しており、役立つはずです.

プログラムでファイル共有にアクセスする方法

于 2009-09-21T20:14:03.867 に答える
0

Domain\username としてサービスを実行すると、「動作するはず」です。

アカウントに「サービスとしてログイン」権限がありますか?

于 2009-09-21T20:15:35.347 に答える