90%使用WebDAV开发的Exchange邮件管理(二)
                                                                     ——Hello,获取未读邮件数!
    
        但凡学习一种新的编程语言,书中的第一个范例都是经典的“Hello,World”。初次尝试使用WebDAV,也得找一个基本的例子试试,以对其有一个感性的认识,我的例子是用来获取未读邮件数目的,所以就有了如上的小标题。
        首先在SDK中搜索WebDAV,找到一些范例,看了看,有一个Getting a List of Folders (WebDAV) ,和所要实现的功能有点贴近。不管三七二十一。运行一下代码吧: 
  190%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!using System;
  290%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!using System.Net;
  390%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!using System.IO;
  490%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!using System.Text;
  590%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!using System.Xml;
  690%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!
  790%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!namespace ExchangeSDK.Snippets.CSharp
  890%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!    strQuery = "<?xml version=\"1.0\"?><D:searchrequest xmlns:D = \"DAV:\" >"
90%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!                    
+ "<D:sql>SELECT \"DAV:displayname\",\"urn:schemas:httpmail:unreadcount\" FROM \"" + strRootURI + "\""
90%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!                    
+ "WHERE \"DAV:ishidden\" = false AND \"DAV:isfolder\" = false"
90%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!                    
+ "</D:sql></D:searchrequest>";
其中strRootURI="http://servername/exchagne/useralias" 。
        37~41行创建了用于访问资源的NTLM的凭据。60行以后则是通过将服务器返回XML解析,通过查找XML节点中的属性得到查询结果。在这里,我实在搞不清楚XML节点属性名称有哪些,且在不同的方法下,形如a:displayname的前缀到底是指DAV:还是其他的名称空间,就干脆把后半段的方法改写了,直接将XML输出到文件中,方便查看。(顺便也学习了一下System.IO)
90%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!    // Get the XML response stream.
90%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!
                ResponseStream = Response.GetResponseStream();
90%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!
90%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!
90%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!                System.IO.StreamReader reader 
= new StreamReader(ResponseStream);
90%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!                
string xml = reader.ReadToEnd();
90%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!                
90%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!                FileInfo textfile
=new FileInfo(@"C:\1.xml");
90%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!            
90%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!                
90%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!                StreamWriter outStream
=textfile.CreateText();    
90%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!                    
90%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!                outStream.Write(xml);
90%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!                outStream.Close();
最后,根据各种不同查询的尝试,及得到的XML文件的反馈,最终得到完整的查询未读邮件代码如下:
90%使用WebDAV开发的Exchange邮件管理(二)——Hello,获取未读邮件数!private int GetUnReadMailCount()
        }


名词解释:
Web Storage System:是一项数据库技术,随着Windows2000操作系统引入的,可用于存储、共享和管理很多类型的数据。WSS被组织为文件夹体系的形式。

相关文章:

  • 2021-11-17
  • 2021-11-17
  • 2021-07-14
  • 2022-12-23
  • 2021-12-12
  • 2022-12-23
  • 2021-09-28
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-20
  • 2022-12-23
相关资源
相似解决方案