0

.Net Framework 2.0 の XP OS に Windows サービスがあり、フォルダーにアクセスし、そこからファイルを読み取ってデータベースにロードします。
共有フォルダーには、すべてのサブフォルダーを完全に制御できる「全員」のアクセス許可があります。サービスは「ローカル システム アカウント」で実行されます。現在、システムは管理者アカウントで実行されています。
スタック トレースは次のとおりです。

Message : Error while searching for files in : \\nw1\data\nov2012

Access to the path '\\nw1\data\nov2012' is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.Directory.InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption)
   at System.IO.DirectoryInfo.GetFiles(String searchPattern, SearchOption searchOption)
   at System.IO.DirectoryInfo.GetFiles()
   at MyWinApp.Winservice1.SearchFiles(String imp, FileFolder objFile)

編集: MSDNで、「LocalSystem アカウントにはローカル コンピューターに対する広範な権限があります」が見つかりましたが、ネットワーク共有フォルダーにアクセスできない理由がわかりません

誰でもこの問題の解決策を提案できますか?
ありがとう、

4

2 に答える 2

0

私はインターネットで検索しましたが、ネットワーク共有フォルダーにアクセスするための適切な許可をWindowsサービスに提供するために、とにかくユーザー名/パスワードを提供する必要があることがわかりました(Windowsサービスプロパティに直接、またはhereのようなWindowsサービスコードで、そのスレッドのコードはhereです)。
今のところ機能させるために、ユーザー名/パスワードをサービスプロパティに手動で設定しました。

于 2012-11-05T04:52:35.403 に答える