2010-03-16 11 views
5

Qualcuno mi dice se è possibile utilizzare WCF senza .NET 3.0?WCF senza NET 3.0

La nostra azienda sviluppa una soluzione client-server 3-tier basata su .Remoting. Uno dei limiti del nostro progetto è l'utilizzo di .NET 2.0. Purtroppo il framework .NET 3.0 è troppo grande per essere incluso nel nostro pacchetto di installazione e non so se la licenza MS lo consenta. Ma WCF potrebbe aiutarci a ridurre drasticamente i nostri sforzi in alcune attività.

Qualcuno ha la possibilità di utilizzare WCF da Mono?

Grazie in anticipo

- Murat

+1

no - WCF è una tecnologia .NET 3.0/3.5/4.0. Non esiste un modo per eseguire il backport .... –

+0

Non esiste un'opzione in VS 2010/.NET 4.0 per creare una distribuzione che viene eseguita su un sottoinsieme più piccolo del framework? Non riesco a ricordare il termine. – TrueWill

+1

@TrueWill: il profilo del client .NET o qualcosa del genere –

risposta

5

Purtroppo questo non è possibile. Gli assembly System.ServiceModel e System.Runtime.Serialization sono obbligatori e fanno parte di .NET 3.0.

Un'altra nota importante è che WCF dipende da HTTP.SYS (stack HTTP a livello di kernel) che è disponibile su Win2003, WinXP SP2 o versioni successive, mentre su Win2000 è ancora possibile installare .NET 2.0.

Sul lato client si può ancora avere .NET 2.0 che utilizza il servizio WCF. È necessario esporre un endpoint basicHttpBinding per questo scopo.

+0

Il motivo per cui non posso utilizzare .NET 3.0 è di grandi dimensioni e non sono sicuro della licenza di distribuzione .NET 3.0.Ma WCF è implementato in Mono, quindi è possibile aggiungere WCF e alcuni libretti dll collegati dal pacchetto Mono? –

+2

@ Murat: .NET 3.0 è - come ogni altro framework .NET - totalmente gratuito e non ha restrizioni sulla sua distribuzione. Scaricalo come qualsiasi altra patch e non preoccuparti: sii felice! –

+0

@Murat, se segui l'ottimo suggerimento di @marc_s e decidi di distribuire una nuova versione del framework, prendi 3.5, anche 4.0. In questo modo non avrai bisogno di porre la stessa domanda su LINQ, Entity Framework, ASP.NET MVC ... :-) –

0

Bene, c'è WCF su Mono (http://www.mono-project.com/WCF) ma non posso dirvi quanto sia compatibile. L'intera cosa imporrebbe anche altre restrizioni, vale a dire la disponibilità di Mono.

A parte che i servizi WCF possono essere esposti come servizi Web con i quali si può parlare con i meccanismi disponibili su .NET 2.0

0

È possibile richiamare i servizi WCF (se sono configurati per utilizzare SOAP su HTTP) da qualsiasi client, usando collegamenti/sintassi SOAP regolari. Il servizio stesso, tuttavia, deve essere in esecuzione su .NET 3.0. Se hai la possibilità di creare solo il livello di servizio su .NET 3.x e lasciare il resto del tuo stack su 2.0, questo potrebbe essere un buon modo per andare.

Molte delle funzionalità di WCF sono state pilotate (utilizzando i servizi Web ASMX) in WSE 3.0, che viene eseguito su .NET 2.0, ma sarà necessario esaminare WSE per capire se effettivamente farà risparmiare tempo; aggiunge molte belle funzionalità per la sicurezza/etc, ma non è facile da raccogliere e utilizzare come WCF.

1

È possibile utilizzare WCF e .Net 3.0 solo sui server almeno? È possibile scrivere ai propri clienti per utilizzare semplici chiamate al servizio Web in stile ASMX e mantenere il loro ingombro di installazione ridotto, pur ottenendo i benefici architettuali di WCF nel software server.

Questo fa parte del punto del software n-tier ... è possibile aggiornare più facilmente le parti critiche dell'applicazione perché sono su alcuni server anziché su migliaia di client. Vorrei riesaminare il requisito di .Net 2.0 almeno sui vostri livelli principali. Dovresti vedere un semplice miglioramento dei costi-benefici utilizzando la flessibilità della piattaforma WCF anche se hai un'installazione server pesante.