none
Problema em usar web method com o IEnumerable RRS feed

  • Pergunta

  • Pessoal,

     

    Estou a pouco tempo trabalhando com LINQ e antes de começar a desenvolver com esta tecnologia resolvi fazer uns teste e me deparei com uma situação complicada, segue abaixo meu cenário:

    Tenho em uma solution 3 projetos, um é uma Class Library com meu .dbml e uma classe que faz um select em duas tabelas que constam no meu .dbml, segue select abaixo:

     

    public static IEnumerable GetTeste()

    {

    DataClasses1DataContext db = new DataClasses1DataContext();

    var objPessoa = from p in db.tblPessoas

                            where SqlMethods.Like(p.Nome, "Debora")

        select new { p.NomeCompleto, p.tblEnderecos.First().Municipio };

    return objPessoa.ToList();

    }

     

    O segundo projeto é um WebService que contém um .asmx que nele temos um WebMethod que chama o metodo acima, segue:

     

    public class Service1 : System.Web.Services.WebService

    {

    [WebMethod]

    public IEnumerable ConsultaPessoa()

    {

    return ClassLibrary1.tblPessoa.GetTeste();

    }

    }

     

    O último projeto é um webapplication na qual eu adicionaria uma web reference do webservice acima, para depois instância-lo e preencher um grid.

     

    Sei que poderia colocar um select direto no grid e desse jeito funciona, porém por alguns motivos estou tendo que utilizar o web method.

     

    O problema é quando eu tento pegar o caminho do webservice para fazer referencia no webapplication ele dá o seguinte erro:

     

    Cannot serialize interface System.Collections.IEnumerable.

     

    Alguém pode me ajudar??????

    terça-feira, 7 de outubro de 2008 17:50

Respostas

Todas as Respostas