zoukankan      html  css  js  c++  java
  • windows service 之访问权限(有NetworkService和LocalSystem的区分)

           最近写了一个关于从局域网的算机上下载文件的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 + " ");

                    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

  • 相关阅读:
    2015北京网络赛 Couple Trees 倍增算法
    POJ 1330 Nearest Common Ancestors 倍增算法的LCA
    2015北京网络赛 G Boxes BFS+打表
    Codeforces Round#320 Div2 解题报告
    HDU 5446 Unknown Treasure Lucas+中国剩余定理+按位乘
    codeforces #329 div 2 B. Anton and Lines(几何)
    codeforces #329 div 2 A. 2Char (暴力)
    hdu 1394 Minimum Inversion Number (树状数组 逆序对)
    hdu 1754 I Hate It (线段树)
    codeforces 589 G
  • 原文地址:https://www.cnblogs.com/findumars/p/6147960.html
Copyright © 2011-2022 走看看