2010-03-16 5 views
5

Quelqu'un peut-il me dire s'il est possible d'utiliser WCF sans .NET 3.0?WCF sans NET 3.0

Notre société développe une solution client-serveur à 3 niveaux basée sur .Remoting. L'une des limites de notre projet est l'utilisation de .NET 2.0. Malheureusement, le framework .NET 3.0 est trop grand pour être inclus dans notre package d'installation et je ne sais pas si la licence MS le permet. Mais WCF pourrait nous aider à réduire considérablement nos efforts dans certaines tâches.

Est-ce que quelqu'un a une chance d'utiliser WCF de Mono?

Merci à l'avance

- Murat

+1

nope - WCF est une technologie .NET 3.0/3.5/4.0. Il n'y a pas moyen de sauvegarder cela ... –

+0

VS 2010/.NET 4.0 ne dispose-t-il pas d'une option permettant de créer un déploiement qui s'exécute sur un sous-ensemble plus petit du framework? Je ne me souviens pas du terme. – TrueWill

+1

@TrueWill: le profil client .NET ou quelque chose comme ça –

Répondre

5

Malheureusement, ce n'est pas possible. System.ServiceModel et System.Runtime.Serialization des assemblys sont requis et font partie de .NET 3.0. Une autre remarque importante est que WCF dépend de HTTP.SYS (pile HTTP au niveau du noyau) qui est disponible sur Win2003, WinXP SP2 ou supérieur, alors que vous pouvez toujours installer .NET 2.0 sur Win2000.

Du côté client, vous pouvez toujours avoir .NET 2.0 consommant le service WCF. Vous devez exposer un point de terminaison basicHttpBinding à cette fin.

+0

La raison pour laquelle je ne peux pas utiliser .NET 3.0 sa grande taille et je ne suis pas sûr de la licence de distribution .NET 3.0.Mais WCF est implémenté dans Mono, alors est-il possible d'ajouter WCF et certains dll-libraried liés du paquet Mono? –

+2

@Murat: .NET 3.0 est - comme tous les autres framework .NET - totalement gratuit et n'a aucune restriction sur sa distribution. Il suffit de le télécharger comme n'importe quel autre patch et ne vous inquiétez pas - soyez heureux! –

+0

@Murat, si vous suivez la bonne suggestion @marc_s et décidez de déployer une nouvelle version du framework, prenez la version 3.5, voire la version 4.0. De cette façon, vous n'aurez pas besoin de poser la même question à propos de LINQ, Entity Framework, ASP.NET MVC ... :-) –

0

Eh bien, il y a WCF sur Mono (http://www.mono-project.com/WCF) mais je ne peux pas vous dire à quel point il est compatible. Le tout imposerait également d'autres restrictions, à savoir la disponibilité de Mono.

Outre que les services WCF peuvent être exposés en tant que services Web avec lesquels vous pouvez parler avec des mécanismes disponibles sur .NET 2.0

0

Vous pouvez appeler les services WCF (si elles sont configurés pour utiliser SOAP sur HTTP) de tout client, en utilisant des liaisons/syntaxes SOAP régulières. Le service lui-même, cependant, doit être exécuté sur .NET 3.0. Si vous avez la possibilité de créer uniquement la couche de service sur .NET 3.x et de laisser le reste de votre pile sur la version 2.0, cela pourrait être une bonne solution. Un grand nombre des fonctionnalités de WCF ont été testées (en utilisant les services Web ASMX) dans WSE 3.0, qui fonctionne sur .NET 2.0, mais vous devrez regarder WSE pour savoir si cela vous fera gagner du temps; il ajoute beaucoup de fonctionnalités intéressantes pour la sécurité/etc., mais n'est pas aussi simple à utiliser et à utiliser que WCF.

1

Pourriez-vous utiliser WCF et .Net 3.0 seulement sur les serveurs au moins? Vous pouvez écrire à vos clients pour qu'ils consomment des appels de service Web de style ASMX simples, et gardent leur empreinte d'installation réduite, tout en conservant les avantages architecturaux de WCF dans le logiciel serveur.

Cela fait partie du but du logiciel n-tier ... vous pouvez plus facilement mettre à niveau les peices critiques de l'application car ils sont sur quelques serveurs plutôt que sur des milliers de clients. Je voudrais réexaminer. Net 2.0 exigence au moins sur vos niveaux supérieurs. Vous devriez voir une amélioration facile du rapport coût-bénéfice en utilisant la flexibilité de la plate-forme WCF même si vous avez une lourde installation de serveur.