2010-03-16 13 views
5

¿Alguien me dice si es posible usar WCF sin .NET 3.0?WCF sin NET 3.0

Nuestra empresa desarrolla una solución de cliente final de cliente/servidor de 3 niveles basada en .Remoting. Una de las limitaciones de nuestro proyecto es usar .NET 2.0. Lamentablemente .NET 3.0 Framework es demasiado grande para ser incluido en nuestro paquete de instalación y no sé si la licencia de MS lo permite. Pero WCF podría ayudarnos a reducir drásticamente nuestros esfuerzos en algunas tareas.

¿Alguien tiene la oportunidad de usar WCF de Mono?

Gracias de antemano

- Murat

+1

nope - WCF es una tecnología .NET 3.0/3.5/4.0. No hay forma de respaldar eso .... –

+0

¿No hay una opción en VS 2010/.NET 4.0 para crear una implementación que se ejecute en un subconjunto más pequeño del marco? No puedo recordar el término. – TrueWill

+1

@TrueWill: el .NET Client Profile o algo así –

Respuesta

5

Desafortunadamente esto no es posible. Los ensamblados System.ServiceModel y System.Runtime.Serialization son obligatorios y forman parte de .NET 3.0.

Otra nota importante es que WCF depende de HTTP.SYS (pila HTTP de nivel kernel) que está disponible en Win2003, WinXP SP2 o superior, mientras que todavía puede tener .NET 2.0 instalado en Win2000.

En el lado del cliente aún podría tener .NET 2.0 consumiendo el servicio WCF. Debe exponer un punto final basicHttpBinding para este fin.

+0

La razón por la que no puedo usar .NET 3.0 es de gran tamaño y no estoy seguro acerca de la licencia de distribución de .NET 3.0.Pero WCF se implementa en Mono, por lo que es posible agregar WCF y algunos dll-libraried vinculados desde el paquete Mono? –

+2

@Murat: .NET 3.0 es, como cualquier otro .NET Framework, totalmente gratuito y no tiene restricciones sobre su distribución. Simplemente descárguelo como cualquier otro parche y no se preocupe: ¡sea feliz! –

+0

@Murat, si sigue la gran sugerencia de @marc_s y decide implementar una nueva versión del marco, tome 3.5, incluso 4.0. De esta forma, no tendrá que hacer la misma pregunta sobre LINQ, Entity Framework, ASP.NET MVC ... :-) –

0

Bueno, hay WCF en Mono (http://www.mono-project.com/WCF) pero no puedo decir lo compatible que es. Todo esto impondría otras restricciones también, a saber, la disponibilidad de Mono.

Aparte de que los servicios de WCF se puede exponer como servicios web con el que se puede hablar con los mecanismos disponibles en .NET 2.0

0

Puede invocar servicios WCF (si están configurados para utilizar SOAP sobre HTTP) desde cualquier cliente, usando enlaces/sintaxis regulares de SOAP. Sin embargo, el servicio en sí debe ejecutarse en .NET 3.0. Si tiene la capacidad de crear solo la capa de servicio en .NET 3.xy dejar el resto de su pila en 2.0, esa podría ser una buena forma de hacerlo.

Muchas de las características de WCF se probaron (utilizando servicios web ASMX) en WSE 3.0, que se ejecuta en .NET 2.0, pero deberá consultar WSE para saber si realmente le ahorrará tiempo; agrega muchas funciones agradables para la seguridad/etc., pero no es tan fácil de usar y recoger como WCF.

1

¿Podría usar WCF y .Net 3.0 solo en los servidores al menos? Podría escribir a sus clientes para que consuman llamadas simples al servicio web de estilo ASMX, y mantener su tamaño de instalación pequeño, mientras obtienen los beneficios arquitectónicos de WCF en el software del servidor.

Eso es parte del punto del software n-tier ... usted puede actualizar más fácilmente aspectos críticos de la aplicación porque están en unos pocos servidores en lugar de en miles de clientes. Volvería a examinar el requisito de .Net 2.0 al menos en los niveles superiores. Debería ver una mejora de costo beneficio fácil usando la flexibilidad de la plataforma WCF incluso si tiene una instalación pesada del servidor.