none
wcf以iis为宿主时的IO权限问题 RRS feed

  • 问题

  • web.config中有这样一项配置,
    string path = System.Web.Configuration.WebConfigurationManager.AppSettings["SysDataPath"];
    值是
    \\192.168.201.36\D$\AppResource\DataFile\342\USERDATA\14
    即为一网络路径,此路径实际存在,而且iis配置的是管理员用户,肯定有权限访问。

    wcf服务中

    Directory.Exists(path)判断这个目录居然返回false
    Directory.CreateDirectory(path);抛出异常System.UnauthorizedAccessException,说访问被拒绝

    然后我写了一个aspx页面,在cs文件中执行这几句话。却完全正常,执行Directory.CreateDirectory也可以创建一个目录

    非常诡异。
    然后我把web.config中的配置改了,改成d:\abcde这样一个本地路径。
    这时wcf也正常执行了

    急盼高手指点迷津!!!
    用System.Environment.UserName属性

    普通的aspx页面里记录下的是administrator用户
    而wcf记录的则是net service用户。

    高手们啊,如何才能让wcf服务也以administrator身份运行啊!!!

    2010年3月11日 13:32

答案

全部回复