2009-12-17 36 views
6

Indago lentamente en Silverlight y después de un buen rato intentando finalmente poder devolver mi propio objeto personalizado desde mi web a mi cliente Silverlight, uso un servicio WCF habilitado para Siverlight.Servicio de dominio vs Servicio WCF?

Ahora, estoy un poco perdido entre las diferencias de un Servicio de dominio y un Servicio WCF.

He trabajado a través de los tutoriales en los que un servicio de dominio está vinculado a un contexto de datos y luego está vinculado a los controles de siliverlight. Estupendo :) Sin embargo, donde golpeé una roca estaba tratando de devolver cualquier barra IQuerryable; como String, mi propio tipo simple, etc.

Encontré algunos tutoriales como this que muestran para marcar una función con la anotación [ServiceContract] y para tener una [Clave] dentro de su clase simple. Esto no funcionó, [ServiceContract] no se pudo resolver, y luego encontré una guía que decía usar [Invocar]. entonces me golpeó cuestiones de no haber sido capaz de cargar la función y obtener un resultado, que básicamente van a aquí

[Invoke] 
    public string HelloWorld(string name) 
    { 
     return string.Format("Hello {0}.", name); 
    } 


var helloWorld = new HelloWorldDomainContext(); 
     //helloWorld.HelloWorldCompleted += new EventHandler<InvokeEventArgs<string>>(HelloWorldHelloWorldCompleted); 
     //helloWorld.HelloWorld("Mark Monster"); 

De todos modos, por lo que entonces descubrí Silverlight habilitado servicios WCF, y soy capaz de volver a mis propios objetos personalizados y llamar esto bien

tl; dr - ¿Los Servicios de dominio solo se usan cuando se vinculan a los controles de Silverlight? Es decir, es una especie de enlace de ida directa y se llama como y cuando es necesario, y hago todo tipo de clasificación/filtrado/selección relacionada con Linq en el servidor.

Y digamos que quiero devolver un xmlString, entonces uso un servicio WCF? ¿Tengo razón al utilizar una combinación de servicios WCF y Servicios de dominio en mi aplicación?

Disculpa si lo anterior es un poco confuso. Solo tratando de entender esto viene de ASP.NET/Flex

Muchas gracias.

+0

¿Alguna vez llegar al fondo de esto? ¿Cual es la diferencia? – MalcomTucker

Respuesta