I'm using an example webservice, but it's generating me an error stating that "Response 'does not exist in the current context," does anyone know what could be wrong?
NOTE: The error runs at compile time:
Response.Write(resultado);
Response.End();
using System;
using System.Collections.Generic;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data;
using System.Text;
using System.Web.Script.Services;
using System.Web.Script.Serialization;
using System.Xml.Serialization;
using System.IO;
using System.Xml;
public class DadosRetorno
{
[XmlAttribute("ativo")]
public bool Ativo;
[XmlElement("nome")]
public string NomeCompleto { get; set; }
[XmlElement("email")]
public string EmailParticular { get; set; }
[XmlElement("operacao")]
public string OperacaoRealizada { get; set; }
[XmlElement("parcelas")]
public string QuantidadeParcelas { get; set; }
}
[WebMethod(Description = "retornar dados no formato xml")]
public string GetConsultaDados()
{
//Lista de usuários
List<DadosRetorno> DadosConsulta = new List<DadosRetorno>();
//Populando a lista de usuários
for (int i = 1; i <= Convert.ToInt32(3); i++)
{
DadosRetorno Dados = new DadosRetorno();
Dados.NomeCompleto = "Nome " + i;
Dados.Ativo = true;
Dados.EmailParticular = "email" + i + "@teste.com.br";
Dados.OperacaoRealizada = "operacao " + i;
Dados.QuantidadeParcelas = "qtdParcelas " + i;
DadosConsulta.Add(Dados);
}
//Criar um Namespace para o XML
XmlSerializerNamespaces xmlNamespace = new XmlSerializerNamespaces();
//Adicionar um item vazio para remover o Namespace xsi, xsd do XML
xmlNamespace.Add("", "");
//Obviamente o XmlSerializerNamespaces serve para adicionar um novo namespace também.
//A linha abaixo vai adicionar xsd no XML
xmlNamespace.Add("namespace", "value");
//Configurações do XML
XmlWriterSettings settings = new XmlWriterSettings();
//A linha abaixo omite a declaração do XML: <?xml version="1.0" encoding="utf-8"?>
settings.OmitXmlDeclaration = true;
//Definir a codificação do XML
settings.Encoding = Encoding.UTF8;
//Identar o XML automaticamente
settings.Indent = true;
//MemoryStream para colocar o XML em memória
MemoryStream stream = new MemoryStream();
//Usar o Create do XmlTextWriter para aplicar as configurações no XML
XmlWriter writer = XmlTextWriter.Create(stream, settings);
//Definir o Type e o elemento raiz do XML (contatos)
XmlSerializer ser = new XmlSerializer(DadosConsulta.GetType(), new XmlRootAttribute("DadosConsulta"));
//Serializar o list, com o Namespace para o XmlWriter
ser.Serialize(writer, DadosConsulta, xmlNamespace);
//Converter o XmlWriter para string
var buffer = new byte[stream.Length];
stream.Read(buffer, 0, (int)stream.Length);
string resultado = Encoding.UTF8.GetString(stream.ToArray());
//Retornar o resultado
Response.Write(resultado);
Response.End();
}