最近写了一个关于从局域网的算机上下载文件的winodws service,最初认为应该没什么大的问题。通过本地的调试也没发现问题。但是当我把程序发布后发现服务报错“访问路径被拒绝”,我的第一感觉,肯定是网络文件夹访问权限问题。那好吧,就用个最傻的方法把文件夹的权限设置成everyone.但是,我把服务跑起来后发现根本就不理你,还是报同样的错误。难道是下载文件的模块出错了?后来我把下载模块放到一个控制台程序和一个web页面中,都顺利通过。真是搞不懂,后来到网上搜一下看到思归老大的回复,是 windows service 的帐户没有权限访问网络资源。于是,我把服务的账号设置为NetworkService,在调试果然ok了。老大就是老大,厉害!但是又有了新的问题,我的写服务日志的功能失效了。原因在哪呢?是应为我的原来的service 账号是LocalSystem,service 可以找到本地文件“C:\DownLoadFileLog.txt",


  private void AddTextLine(string line)
        {
            try
            {
                FileStream fs = new FileStream(@"C:\DownLoadFileLog.txt", FileMode.OpenOrCreate, FileAccess.Write);                 StreamWriter m_streamWriter = new StreamWriter(fs);                 m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);                 m_streamWriter.WriteLine(line + "\r\n");                 m_streamWriter.Flush();                 m_streamWriter.Close();                 fs.Close();
            }
            catch (Exception ex)
            {             }
        }

而现在我把它改为NetworkService,它当然不知道C:\DownLoadFileLog.txt 在那里了。那把它改成你的网络目录并设置为共享就ok了!
如”//192.168.8.188/share/DownLoadFileLog.txt/“。

http://www.cnblogs.com/peak-weng/archive/2008/07/29/1255485.html

windows service 之访问权限(有NetworkService和LocalSystem的区分)的更多相关文章

  1. 设置Windows服务的访问权限

    作者:beyond 默认情况下,只有管理员组成员.LocalSystem和Power Users组成员帐户才有权启动.停止服务.为了让普通用户也可以控制该服务,我们可以手动设置其访问权限.可能有些初学 ...

  2. 关于windows service不能访问网络共享盘(NetWork Drive)的解决方案

    我映射一个网络驱动器到本机的时候,发现本机的程序直接能访问读取网络驱动器,但是把本机的程序作为本机的windows服务运行的时候就不能访问了. Qt中的QDir::exist(folder)访问失败. ...

  3. 对于windows操作系统磁盘访问权限修改的手残教训

    最近公司新配置的win10电脑,由于测试关于windows系统上项目的安装程序时默认使用了c盘安装,发现安装后的项目不是崩溃就是运行没结果的,偶然间发现同一个安装程序在d盘或其他非系统盘安装则正常.很 ...

  4. 怎样提高Windows Azure Cloud Service中的WebRole的文件访问权限

    关键字:WebRole 1. 背景 Web应用程序需要读取和写入该项目下的文件的权限. 在默认情况下,W3wp.exe 和WaIISHost.exe的运行账号是Network Service,而Net ...

  5. Windows Service 访问远程共享权限设置

    最近为实现共享目录之间的文件同步,开发了一个Windows Service. 考虑到在拷贝过程中,如果网络忽然抽风访问不了,导致文件拷贝不完整的情况,果断抛弃.Net 自带的 COPY 方法,而使用D ...

  6. Reporting Service部署之访问权限

    原文:Reporting Service部署之访问权限 SQL Server Reporting Services 并非专门设计用于 Internet 报表部署方案,但是您可以成功地将 Reporti ...

  7. [转]Reporting Service部署之访问权限

    本文转自:https://www.cnblogs.com/lonelyxmas/p/4112638.html 原文:Reporting Service部署之访问权限 SQL Server Report ...

  8. service 03 iis之服务器无访问权限

    这两天在Service 03 的iis 6.0 里面配置一个aspx 的网站 ,总是遇到一个问题  401.2   无权限访问,于是去百度了一下好多的方法,基本上是关于设置匿名用户,打开IUSER用户 ...

  9. C#更改文件访问权限所有者(适用于各个Windows版本)

    前面也提到了,前段时间在做Online Judge系统,在正式上线前有几个比较老的版本,其中第一个版本使用ACL来控制权限以确保安全(但是这个版本完全建立在IIS上,所以这样做是没效果的),遇到了一些 ...

随机推荐

  1. httpclient htmlunit下载单个文件

    httpclient public class Download { public static void main(String[] args) throws ClientProtocolExcep ...

  2. 怎样获取android手机联系人并按字母展示(三)

    假设获取contact的头像信息并展示: 怎样依据photoId来获取bitmap: public static Bitmap getContactPhoto(Context context, lon ...

  3. WPF 好看的矢量图标

    原文:WPF 好看的矢量图标 本文告诉大家一个好用的网站,里面提供很多好看的图标. 本文介绍的网站是 Xamalot 里面有很多好看的图标. 例如我找到了一个好看的图标 我只需要点击下面的下载就可以了 ...

  4. MapReduce 编程 系列七 MapReduce程序日志查看

    首先,假设须要打印日志,不须要用log4j这些东西,直接用System.out.println就可以,这些输出到stdout的日志信息能够在jobtracker网站终于找到. 其次,假设在main函数 ...

  5. element-ui 的 日历 datetimerange 日期格适化 , 适合1版本

    这家伙把我坑坏了 , 本来吧数据准备好了 , 一掉接口居然不好使 ,日期总是有偏差 , 结果一看是提交的数据有问题 , 后台直接接受的字符串 new 的Date , 2017-12-24T16:00: ...

  6. 3 Task中的一些枚举 创建时候的、continue时候的

    创建时常用的枚举: None.PreferFairness.LongRunning.AttacthedToParent.DenyChildAttach.HideScheduler AttacthedT ...

  7. Netty源代码学习——EventLoopGroup原理:NioEventLoopGroup分析

    类结构图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd29ya2luZ19icmFpbg==/font/5a6L5L2T/fontsize/400/f ...

  8. 使用CMD实现批量重命名[转]

    关键字:cmd DOS 批处理 批量 重命名 作者:lifesinger地址:http://www.cnblogs.com/txw1958/archive/2012/12/24/cmd-batch-r ...

  9. C# ?和??使用讲解

    原文:C# ?和??使用讲解 场景1:使用?定义可空类型 众所周知,C#中的值类型是不可以为null的,如果必须为null,则需要将变量定义为可空类型,如下所示: int? age = null; 场 ...

  10. qt翻译--QWaitCondition

    QWaitCondition Class Reference[QtCore module] 该类提供一个情况变量来同步线程. #include <QWaitCondition> 注意:该类 ...