日期:2010-11-21  浏览次数:20409 次

有的时候我们需要在网页里读取论坛的信息,在传统ASP的时候我们使用的是JS或者是IFRAME,这两种方式都不是很方便,而且对搜索引擎不友好。现在有了.Net,我们有了另一种方式。

要求:论坛需要提供RSS支持。

代码如下:


    #region task class
    //这是一个任务类,执行具体的任务
    public class RssAsyncTask
    {
        private String _rssContent;
        private AsyncTaskDelegate _dlgt;
        private string rssUrl;
        private bool _success;

        public bool IsSuccess
        {
            get
            {
                return _success;
            }
        }

        public RssAsyncTask(string rssUrl)
        {
            this.rssUrl = rssUrl;
        }

        // Create delegate.
        protected delegate void AsyncTaskDelegate();

        public String GetRssContent()
        {
            return _rssContent;
        }
        public void DoTheAsyncTask()
        {
            // Introduce an artificial delay to simulate a delayed
            // asynchronous task. Make this greater than the
            // AsyncTimeout property.
            WebClient wc = new WebClient();
            try
            {
                _rssContent = wc.DownloadString(rssUrl);
                _success = true;
            }
            catch (Exception e)
            {
                _rssContent = e.Message;
            }
            finally
            {
                wc.Dispose();
            }
            //Thread.Sleep(TimeSpan.FromSeconds(5.0));
        }

        // Define the method that will get called to
        // start the asynchronous task.
        public IAsyncResult OnBegin(object sender, EventArgs e,
  &nbs