运行WEB程序的我的机器 172.17.136.1 ,网上邻居另一机器172.17.136.2上有一文件c:\a.txt,现在我要在WEB页面程序中检测a.txt是否存在,若存在,则在本机上创建一个temp目录,把a.txt它拷贝过来,怎么写?检测文件是否存在时,我开始时把172.17.136.2\c$映射为网络驱动器Z,又在我的机器的IIS中建一虚拟目录Z,指向网络驱动器Z,但下面写法均不能检测a.txt是否存在,为何?
   [C#]
   if(System.IO.File.Exists(@"z:\a.txt"))        不行
   if(System.IO.File.Exists("http://localhost/z/a.txt"))   也不行若用WebClient,请给出能完成上述任务的具体完整代码.

解决方案 »

  1.   

    ASP.NET运行的是匿名帐户,看是否有访问权限
      

  2.   

    是可以的检测,在iis里把匿名访问去掉,然后
    web.config里配置
    <identity impersonate="true"/>
    <authentication mode="Windows" />Response.Write(System.IO.File.Exists(◎"z:\photocode.zip"));

    Response.Write(System.IO.File.Exists(◎"\\192.168.3.106\c$\ttt\photocode.zip"));
    都会返回true的
      

  3.   

    在iis里把匿名访问去掉,运行windows集成验证
    具体你运行asp.net是的什么帐户,请参考
    http://www.microsoft.com/taiwan/msdn/books/ataglance/SecNetAP05.htmhttp://www.ccw.com.cn/htm/center/prog/02_9_23_6.asp
      

  4.   

    去掉iis里匿名访问,还能运行B/S程序吗?
      

  5.   

    web.config里配置
    <identity impersonate="true"/>
    <authentication mode="Windows" />
    运行时提示web.config文件有错,为何?
    另外也没说怎么拷贝啊
      

  6.   

    看看这个
    如何在 ASP.NET 应用程序中实现模拟
    http://support.microsoft.com/kb/306158/zh-cn