我在本地有一个.NET的web程序,然后映射了一台局域网内其他计算机的共享目录到本地,设为Z盘。
调试时可以往Z盘内写文件,但发布到IIS后就不能访问Z盘了。我按照网上牛人的做法,加了<identity impersonate="true" userName="YourDomainName\YourLoginName" password="YourPassword"/>这段话,并设置了自己机器的用户名、密码。
结果是:调试和发布后都无访问Z盘了。
请问高手我应该怎么做,才能在发布到IIS之后,也一样能读写Z盘。

解决方案 »

  1.   

    iis所在的机器上,有Z盘么?没的话,手工映射一个。
      

  2.   

    调试的时候是当前登录的用户权限,IIS运行时的是IIS的账户权限
      

  3.   

    只映射本地磁盘是没用的,必须将该网络路径置于IIS站点根目录下...这是安全性限制...其实都不需要映射本地磁盘...直接在IIS里创建虚拟目录即可,物理路径支持UNC...
      

  4.   


    按你说的,我去IIS里创建Z盘的虚拟目录,但是选择文件夹后,确定按钮是灰的啊。这是怎么回事?如图:
      

  5.   

    服务里面用户是系统用户,而不是本地用户,映射磁盘时候有个选项:在登录时重新连接。
    既然是系统用户,就不能连接了。
    应该要用网络路径:\\fileserver\share\..
    这样系统用户由于没有登录过网络路径,所以在用之前先用net use命令登录
    使用方法在net use /?
    Eg. net use \\172.27.10.102 /user:yyz985 123321
      

  6.   

    http://shirlly.javaeye.com/blog/567533
    键就在文件服务器上面必须建立一个和web服务器完全一样的帐号(包括用户名和密码) 
    假设有 web服务器( webserver ) 和 文件服务器( fileserver ) 
    1、web服务器上建立帐号 webuser1 密码123456 
    2、web服务器的IIS上建立一个虚拟目录,将主目录指到 \\fileserver\web1 ,虚拟目录安全性下的身份验证填写 帐号 webuser1 密码123456 
    3、file服务器上建立相同帐号 webuser1 密码123456 
    4、file服务器上建立目录web1,赋予webuser1 可读写,并共享 原文地址 
    http://blog.csdn.net/forlinux/archive/2007/10/25/1842933.aspx 
      

  7.   

    想起来了,net.exe和asp.net虚拟机是两个环境。看一下net use命令怎么做的程序里面直接调用就可以了。
      

  8.   


    你的好像可行,我去试试。
    在程序中要再fileserver中创建目录的话,直接这样可以吗?
    Directory.CreateDirectory("\\fileserver\web1\新建文件夹1");