У вас нет доступа к Visual Studio прямо сейчас, так что вы делаете это из головы. Если пять вы отправной точкой.
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/xml";
using (XmlWriter writer = XmlWriter.Create(context.Response.OutputStream))
{
writer.WriteStartDocument();
// do xmlwriter stuff here.
writer.WriteEndDocument();
}
}
Обновление:
Я действительно хотел поместить туда OutputStream. Я обновил пример, чтобы отразить это.
Кратко рассмотрел ваш код. Я вижу, вы не выводите результат xmlwriter в HttpResponse. (что делает мой пример, связывая его с Context.Response.OutputStream
). Это должно быть причиной, почему он не будет работать. Хотя, почему происходит ошибка 500, я не вижу. Может быть, вам следует запустить Visual Studio, чтобы увидеть, если какие-либо ошибки, которые могут привести к этому.
Также я заметил, что вы используете reader[0]
. Несмотря на то, что это технически может быть правильным, я предлагаю вам использовать более безопасный метод, подобный следующему:
int fieldIndex = reader.GetOrdinal("address");
reader.GetString(fieldIndex);
Это гарантирует, что вы всегда получите нужное поле из запроса. Даже если в будущем вы решите изменить схему базы данных, добавив еще несколько столбцов.