我們正在開發一個Web服務,該服務必須運行與映射網絡驅動器交互的第三方進程。所以我們必須以Web服務的編程方式映射這個驅動器。C# - 從Web服務映射網絡驅動器
我已經包裹起來WNetAddConnection2,等在另一個項目一個更好的課,所以我扔的代碼權利英寸
我們的Web服務是根據UltiDev卡西尼號(而不是IIS)這下運行運行系統帳戶。我們每次都得到「指定設備名稱無效」的錯誤代碼。我也嘗試在web.config文件中模擬其他用戶,結果相同。
驅動器將映射得很好,當我從一個正常的用戶帳戶下的控制檯程序運行我的代碼。
我也嘗試從C#運行等效的「net use」命令,其結果與WNetAddConnection完全相同。
有誰知道爲什麼Windows服務或系統用戶將無法映射網絡驅動器?
有誰知道解決方法?在系統啓動時簡單映射驅動器將是一個解決方案,但系統/模擬用戶如何訪問它?
鏈接UltiDev卡西尼號:UltiDev
SOLUTION:我設置UltiDev卡西尼服務在管理員登錄,一切工作正常。 ASP .Net模擬不能按計劃運行。
那麼爲什麼web.config模擬不起作用?我在我們的日誌中打印了Environment.Username,並打印了管理員,但是如果我查看UltiDev進程 - 它仍在Local System下。 UltiDev能做些奇怪的事情嗎? – jonathanpeppers 2009-09-16 13:42:15
本地系統帳戶具有網絡訪問權限,但它向網絡資源提供匿名憑據。 – bryanbcook 2009-09-16 13:53:25