public void ProcessRequest(HttpContext context) { string configName = context.Request.QueryString["configuration"]; _configuration = CodeGenerationSettings.Instance.GetConfiguration(configName); context.Response.ContentType = "text/plain"; using (XmlTextWriter writer = new XmlTextWriter(context.Response.OutputStream, Encoding.UTF8)) { writer.Formatting = Formatting.Indented; writer.WriteRaw("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"); writer.WriteStartElement("namespaces"); _templates = _configuration.GetTemplateSettings().ToDictionary(t => t.Path); foreach (var nameSpace in _templates.Values.GroupBy(c => c.NameSpace)) { writer.WriteStartElement("namespace"); writer.WriteAttributeString("name", nameSpace.Key); foreach (var template in nameSpace) WriteTemplate(template, writer); writer.WriteEndElement(); } writer.WriteEndElement(); } }