服务器上启用WebDav扩展协议了吗

解决方案 »

  1.   


    现在我启用了WebDav,出现401 未经授权的错误,这是怎么回事呢?
      

  2.   

    401 未经授权就是文件夹没有写入权限,iis的目录安全性和物理文件夹都要设置,
    另外,serverFullPath需要是完整的http:/xxxx/xx.jpg这样的格式
      

  3.   


    谢谢大哥,
    按照这个错误提示,确实是没有写入权限,但是IIS的目录安全性已经给了写入权限;物理文件夹的写入权限也给了;
    我用的iis 6 是这么操作的:在IIS 6管理器中,点击我的虚拟目录,在右边的编辑权限里给了 everyone ,IUSR, IIS_IUSRS这几个用户写入权限;并且也配置了下身份验证,启用了匿名访问,不过这里选择的是特定用户,然后我输入的是IUSR,密码为空,感觉IIS6 和IIS 5 差别蛮大的,在IIS 5里启用匿名访问后默认用户是IIS_USERXXXXX,而且可以勾选让IIS控制密码;另外,serverFullPath也是您说的那种uri的格式;还是401;
    ///////////////////
    "Exception message:远程服务器返回错误: (401) 未经授权。;track    在 System.Net.HttpWebRequest.GetResponse()\r\n   在 System.Net.WebClient.GetWebResponse(WebRequest request)\r\n   在 System.Net.WebClient.WebClientWriteStream.Dispose(Boolean disposing)\r\n   在 System.IO.Stream.Close()\r\n   在 EvalStar.VideoEvaluate.UploadImageToServer() 位置 E:\\TchEvl\\EvalStar\\EvalStar\\VideoEvaluate.xaml.cs:行号 288;ex stringSystem.Net.WebException: 远程服务器返回错误: (401) 未经授权。\r\n   在 System.Net.HttpWebRequest.GetResponse()\r\n   在 System.Net.WebClient.GetWebResponse(WebRequest request)\r\n   在 System.Net.WebClient.WebClientWriteStream.Dispose(Boolean disposing)\r\n   在 System.IO.Stream.Close()\r\n   在 EvalStar.VideoEvaluate.UploadImageToServer() 位置 E:\\TchEvl\\EvalStar\\EvalStar\\VideoEvaluate.xaml.cs:行号 288" string
      

  4.   

    iis6里面的匿名账户是NETWROK Service
    iis目录安全性启用匿名
    物理文件夹加NETWROK Service账户可写入权限,asp.net不是使用的IIS_USERXXXXX,注意iis目录安全性匿名的匿名账户采用默认的就行
      

  5.   


    IIS6 和IIS 5 的差别确实很大,IIS6的性能是IIS5的N倍了
      

  6.   

    我碰到的问题和你一摸一样,也是先出现405问题,弄了webdav后出现401问题,现在卡在这了,不知道怎么弄,楼主问题解决了吗?能分享一下经验吗?