Windows服务无法访问映射文件夹

时间:2009-11-23 13:54:46

标签: vb.net

我有一个使用VS.net 2008编写的非常简单的VB.net Windows服务。该程序在执行其他几个函数后会在其中一个网络文件夹中写入日志。代码如下所示:如果我将路径从“Y:\ Activity_Log”更改为“C:\ Activity_Log”,它就像魅力一样。

如果我使用有效的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

2 个答案:

答案 0 :(得分:4)

开始 - >控制面板 - >管理工具 - >服务

在列表中找到您的服务,右键单击名称,属性

单击“登录”选项卡

从本地系统帐户更改为“此帐户”

使用有权访问该共享的用户,以您的用户名/密码开头,说服自己确实有效;)

单击“确定”,然后重新启动该服务。

答案 1 :(得分:3)

您是否需要在有权访问该驱动器的用户下运行该服务?

也许通用服务用户没有访问权限。