2009-11-23 84 views
0

我有一個非常簡單的VB.net Windows服務編寫使用VS.net 2008.該程序做了幾個其他功能後,寫入一個網絡文件夾中的日誌。代碼如下所示:如果我將路徑從「Y:\ Activity_Log」更改爲「C:\ Activity_Log」,它就像魅力一樣工作。Windows服務無法訪問映射的文件夾

如果我使用Y驅動器,這是一個有效的問題,並且我可以從其他VB.net桌面應用程序訪問它,會出現什麼問題。請幫忙。

Dim strFile As String = "Y:\Activity_Log\" & DateTime.Today.ToString("dd-MMM-yyyy") & ".txt" 
     Dim fs As FileStream = Nothing 
     Dim activityfolder As String = "Y:\Activity_Log" 
     Dim di As System.IO.DirectoryInfo 

     di = New System.IO.DirectoryInfo(activityfolder) 

     If (Not di.Exists) Then 
      di.Create() 
     End If 


     If (Not File.Exists(strFile)) Then 
      Try 
       Dim sw1 As New StreamWriter(File.Open(strFile, FileMode.OpenOrCreate)) 
       sw1.WriteLine("******************************Activity Log for " & Now.Date & "*******************") 
       sw1.WriteLine("-----------------------------------------------------------------------------------------------------------------") 
       sw1.WriteLine(Remarks & " ---" & DateTime.Now) 
       sw1.Close() 
      Catch ex As Exception 

      End Try 

     Else 
      Dim sw As StreamWriter 
      sw = AppendText(strFile) 
      sw.WriteLine(Remarks & " ---" & DateTime.Now) 
      sw.Close() 

     End If 

回答

4

開始 - >控制面板 - >管理工具 - >服務

找到您在列表服務,右鍵單擊名稱,屬性

單擊登錄選項卡

從局部變化系統帳戶「此帳戶」

使用具有該共享訪問權限的用戶,開始與您的用戶名/密碼來說服自己,它的工作原理;)

單擊確定,然後重新啓動服務。

+0

肖恩,謝謝你的建議。我確實指定了登錄信息並重新啓動了服務。它仍然沒有工作。不只是這個網絡文件夾,但沒有。如果您能爲此提出任何解決方案,我將非常感激。 – acadia 2009-11-23 15:20:13

+0

記錄它拋出的eventviewer或文件的異常,以便您可以確定訪問被拒絕的原因。我會認爲它可能只是權限相關。 – Sean 2009-11-23 15:26:15

3

也許您需要在有權訪問該驅動器的用戶下運行服務?

也許通用服務用戶無權訪問。

+0

Fredou,現在服務正在我的機器上運行。即使那樣它也無法訪問網絡驅動器。 – acadia 2009-11-23 14:05:36

+0

服務可能在不同的用戶下運行。您需要確保將映射驅動器的權限設置爲每個人都可見。 – 2009-11-23 14:28:55

相關問題