CZoneSoft

CZoneSoft提供企业商务软件、企业信息管理、手机软件、企业网络建设、维护、优化等服务。1000元以下的软件免费开发,满意再付款!

首页 新随笔 联系 订阅 管理
  146 Posts :: 10 Stories :: 1988 Comments :: 4 Trackbacks

在下载新版本时,需要请求列举目录文件,获得服务器该目录下所有文件,然后下载。
但发出XML请求的时候报错了。
   HttpWebRequest Request = (HttpWebRequest)HttpWebRequest.Create(url);
   Request.Headers.Add("Translate: f");
   Request.Credentials = CredentialCache.DefaultCredentials;

   string requestString = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>"+
    "<a:propfind xmlns:a=\"DAV:\">"+
    "<a:prop>"+
    "<a:displayname/>"+
    "<a:iscollection/>"+
    "<a:getlastmodified/>"+
    "</a:prop>"+
    "</a:propfind>";
   
   Request.Method = "PROPFIND";
   if (deep == true)
    Request.Headers.Add("Depth: infinity");
   else
    Request.Headers.Add("Depth: 1");
   
   Request.ContentType = "text/xml";
   Request.ContentLength = requestString.Length;
   Stream requestStream = null;
   try
   {
    requestStream = Request.GetRequestStream();   
    //创建流的时候失败了。501错误。服务器不支持该函数!
    //但我已经把该目录设为可“浏览目录“了. 不支持DAV??不明白了
   }
   catch (Exception er)
   {
    Debug.WriteLine("Z.J.Chen: Can't create a http request stream! "+er.Message);    
    requestStream.Close();
   }

posted on 2004-08-12 15:10 陈震军 阅读(1171) 评论(4) 编辑 收藏

Feedback

#1楼 2005-01-12 17:59 lichdr      
我是下面一句出错的:
Response = (HttpWebResponse)Request.GetResponse();

出405错误:
The remote server returned an error: (405) Method Not Allowed.
害得这两天再找DAV的资料,对这个东西还是第一次知道呀(对ASP.NET方面的东西不是很懂)

你现在正常了吗?

 回复 引用 查看   

#2楼 2005-03-09 13:19 Findekano      
我在作到这一步的时候同样出现501(服务器未实现)错误。关于AppUpdater的这个错误似乎资料相当少,不知道您后来是如何解决的?我用的是Windows2003 IIS6.0。 是和DAV有关的错误么?
 回复 引用 查看   

#3楼 2006-09-18 13:59 findx[未注册用户]
501是没有打开windows2003 IIs6 的web dav,在web扩展中打开它
 回复 引用   

我发现该组件不支持含有中文名的文件下载。
而且,这个组件还有自动清理历史目录的功能,但是与Windows Installer的自动保护功能冲突,我必须屏蔽该功能,否则发行的程序无法在客户那里使用。
不信,可以测试一下。
免费的,就这样吧。

 回复 引用