/Disciples/Disciples/BlogPost/rsd.ashx.cs

https://bitbucket.org/davcar/bvcms/ · C# · 55 lines · 52 code · 3 blank · 0 comment · 0 complexity · a0c3942a858b69e6283bba9fb4b52fde MD5 · raw file

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Xml.Linq;
  6. using CmsData;
  7. using System.Web.Services;
  8. using System.Text;
  9. using UtilityExtensions;
  10. namespace Disciples.BlogPost
  11. {
  12. [WebService(Namespace = "http://tempuri.org/")]
  13. [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
  14. public class rsd : IHttpHandler
  15. {
  16. public void ProcessRequest(HttpContext context)
  17. {
  18. context.Response.ContentType = "text/xml";
  19. var b = CmsData.Blog.LoadById(context.Request.QueryString<int>("blogid"));
  20. context.Response.ContentEncoding = Encoding.UTF8;
  21. var homeurl = Util.ResolveServerUrl("~/BlogPost/{0}.aspx".Fmt(b.Name));
  22. var engineurl = Util.ResolveServerUrl("~");
  23. var metaurl = Util.ResolveServerUrl("~/BlogPost/metaweblogapi.ashx");
  24. XDocument document = new XDocument(
  25. new XDeclaration("1.0", "utf-8", null),
  26. new XElement("rsd",
  27. new XElement("service",
  28. new XElement("engineName", "GO Disciple's Blog"),
  29. new XElement("engineLink", engineurl),
  30. new XElement("homePageLink", homeurl),
  31. new XElement("apis",
  32. new XElement("api",
  33. new XAttribute("name", "MetaWeblog"),
  34. new XAttribute("preferred", "true"),
  35. new XAttribute("apiLink", metaurl),
  36. new XAttribute("BlogID", b.Id.ToString())
  37. )
  38. )
  39. )
  40. )
  41. );
  42. document.Save(context.Response.Output);
  43. }
  44. public bool IsReusable
  45. {
  46. get
  47. {
  48. return false;
  49. }
  50. }
  51. }
  52. }