MarkItUp.SingleUserBlog.Web/Rsd.ashx.cs

(完整代码) 2KB

using System;
using System.Web;
using System.Xml;
using MarkItUp.SingleUserBlog.Common;
using MarkItUp.SingleUserBlog.Services;

namespace MarkItUp.SingleUserBlog.Web
{
    public class Rsd : IHttpHandler
    {
        #region IHttpHandler Methods

        // TODO: We should probably apply some caching here, but this file should be request so infrequently...
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "application/rsd+xml";

            XmlTextWriter writer = new XmlTextWriter(context.Response.Output);
            writer.Formatting = Formatting.Indented;

            //writer.WriteStartDocument();
            writer.WriteStartElement("rsd");
            writer.WriteAttributeString("version", "1.0");
            writer.WriteStartElement("service");
            writer.WriteElementString("engineName", "SingleUserBlog " + System.Reflection.Assembly.GetAssembly(typeof(BlogDataProvider)).GetName().Version.ToString());
            // TODO: This should be the Sub home page and should really come from config
            writer.WriteElementString("engineLink", "http://www.codeplex.com/Wiki/View.aspx?ProjectName=SUB");
            writer.WriteElementString("homePageLink", Globals.UrlStartPath);
            writer.WriteStartElement("apis");
            AddApiElement(writer, "MetaWeblog", "MetaWeblog.ashx", true);
            writer.WriteEndElement();
            writer.WriteEndElement();
            writer.WriteEndElement();
        }

        public bool IsReusable
        {
            get { return true; }
        }

        #endregion

        private void AddApiElement(XmlTextWriter writer, string apiName, string endPoint, bool preferred)
        {
            writer.WriteStartElement("api");
            writer.WriteAttributeString("name", apiName);
            writer.WriteAttributeString("preferred", preferred?"true":"false");
            writer.WriteAttributeString("apiLink", Globals.UrlStartPath + endPoint);
            writer.WriteAttributeString("blogID", "SingleUserBlog");
            writer.WriteEndElement();
        }
    }
}

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。