Chinaunix首页 | 论坛 | 博客
  • 博客访问: 206522
  • 博文数量: 163
  • 博客积分: 4010
  • 博客等级: 上校
  • 技术积分: 1720
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-08 11:41
文章分类

全部博文(163)

文章存档

2011年(1)

2009年(162)

我的朋友

分类: 系统运维

2009-06-17 15:32:49

声明webService类

    在我们的RSS阅读器Web站点中创建一个名为RssService.asmx的Web Service文件,并在其中声明一个名为RssService的Web Service类。由于该Web Service将用于从客户端直接访问,所以我们要为其添加[System.Web.Script.Services.ScriptService]属 性:
    [System.Web.Script.Services.ScriptService]
    public class RssService : System.Web.Services.WebService
    {
        // ......
    }

    然后在该Web Service中添加一个用来保存默认提要的List,并在Web Service类的静态构造函数中添加几个默认的提要:
    private static List rssEntryList;
    static RssService()
    {
        rssEntryList = new List();
        rssEntryList.Add(RssEntry.CreateNew("ScottGu's Blog",
            "http://weblogs.asp.net/scottgu/rss.aspx"));
        rssEntryList.Add(RssEntry.CreateNew("Brad Abrams",
            "http://blogs.msdn.com/brada/rss.xml"));
        rssEntryList.Add(RssEntry.CreateNew("Nikhil Kothari's Weblog",
            ""));
        rssEntryList.Add(RssEntry.CreateNew("博客园-首页原创.net区",
            "http://www.cnblogs.com/rss.aspx"));
    }

    获取当前所有的提要

    RSS阅读器左侧导航栏中的提要列表将在客户端应用程序初始化完成之后从服务器端取得当前所有的提要信息。为了给客户端提供这些数据,我们来在Web Service中添加一个名为GetRssEntries()的方法:
    ///


    /// 获取当前所有的提要。
    ///

    /// 提要集合
    [WebMethod]
    public RssEntry[] GetRssEntries()
    {
        return rssEntryList.ToArray();
    }

    添加新提要

    用户可以在RSS阅读器中通过输入URL添加感兴趣的新提要,这是通过Web Service中名为AddRssEntry()的方法实现的:
    ///


    /// 添加新的提要。
    ///

    /// 新提要的URL
    /// 成功添加的提要
    [WebMethod]
    public RssEntry AddRssEntry(string rssUrl)
    {
        // 根据URL创建一个RssFeed对象,并获取其基本信息。
        Rss.RssFeed feed = Rss.RssFeed.Read(rssUrl);
        // 创建新的RssEntry对象。
        RssEntry newEntry = RssEntry.CreateNew(
            feed.Channels[0].Title, // 标题
            rssUrl // URL
        );
        // 添加到集合中。
        rssEntryList.Add(newEntry);
        return newEntry;
    }

    注意在上述代码中的粗体部分,我们使用了RSS.NET类库中的RssFeed类,根据提要的URL获取了该提要的标题信息。

阅读(900) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~