2012-11-01 68 views
0

我在.Net Framework 2.0中的XP操作系統上有一個Windows服務,它訪問文件夾並從中讀取文件以將其加載到數據庫中。
共享文件夾具有完全控制所有子文件夾的「Everyone」權限。並在「本地系統帳戶」上運行服務。並且當前系統以管理員帳戶運行。
堆棧跟蹤爲:
從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帳戶在本地計算機上具有廣泛的特權」,但不知道爲什麼它是不能夠訪問網絡共享文件夾

任何人都可以提出解決這個問題?
謝謝,

+0

您確信網絡共享和本地文件夾都具有適當的訪問權限(例如,允許所有人完全控制)嗎? – Kane

+0

是的,我有共享文件夾的雙重檢查權限 – par

回答

0

我搜索互聯網上,但無論我發現,無論如何,我必須提供用戶名/密碼,以提供適當的權限,以窗口服務訪問網絡共享文件夾(直接到窗口服務屬性或在窗口服務代碼等給出here,該線程中的代碼是here)。
所以使它現在工作,我現在手動設置用戶名/密碼服務屬性。

0

如果您使用本地帳戶運行服務(我認爲是windows,我們正在討論的),並且本地帳戶不屬於域或域。 您可以隨時在運行服務的計算機上創建本地帳戶,並在共享該文件夾的計算機上創建本地帳戶。 相同的帳戶名稱,相同的密碼。它會工作

相關問題