WCF vs Web API, maggiori dettagli? [chiuso]

1

Prima di continuare, voglio solo menzionare che ho svolto ricerche e ricerche approfondite su questo argomento, ma ho bisogno dell'opinione di persone che hanno lavorato / o hanno conoscenze pratiche su questo argomento.

Al momento stiamo cercando di sviluppare un'API in modo che i clienti possano utilizzarla. Siamo decisamente in REST in contrapposizione a SOAP, ma sono ancora un po 'incerto su quale sia esattamente la differenza, se si passa ai dettagli microscopici.

Dai un'occhiata a msdn (Scelta della tecnologia da utilizzare), il link sottostante:

link

Le differenze sono chiare. Tuttavia, il primo punto indica per WCF :

Abilita servizi di costruzione che supportano più protocolli di trasporto (HTTP, TCP, UDP e trasporti personalizzati) e consente di passare da uno all'altro.

Per ASP.NET Web Api :

Solo HTTP. Modello di programmazione di prima classe per HTTP. Più adatto per l'accesso da vari browser, dispositivi mobili ecc. Consentendo un'ampia copertura.

Quindi, entrambi supportano HTTP, ma WCF supporta inoltre più protocolli. Ciò che rende l'API Web ASP.NET più adatta, cito: "Più adatto per l'accesso da vari browser, dispositivi mobili ecc. Consentendo un'ampia portata." se entrambi supportano HTTP?

Fino ad ora, abbiamo fatto molto affidamento sull'uso del PC. Quello che sto ottenendo, e alla fine la mia domanda è:

Abbiamo intenzione di diventare mobili e di spostarci molto di più su più dispositivi, browser, ecc. Ma non mi piacerebbe andare su un servizio sulla base di un po 'di testo che dice che "Web API" è più adatto? È più efficiente, meno dispendioso in termini di risorse, ecc.? Per quanto riguarda le prove future? Saremmo migliori con le API WEB e perché? Solo per ultimo, abbiamo i servizi SOAP esistenti, tutto ciò che abbiamo è costruito in SOAP.

Non esitare a entrare nei dettagli, non sono uno sviluppatore esperto, sto solo cercando di aggiungere un contributo a questo progetto.

Solo un ultimo paio di requisiti:

1) Abbiamo intenzione di utilizzare JSON. 2) Siamo limitati a .NET 3.5 / 4. 3) Deve essere REST.

    
posta fransHbrink 05.08.2014 - 13:27
fonte

1 risposta

1

Tutta la campagna pubblicitaria per i diversi prodotti scritti da diversi team di prodotto con l'incentivo a far adottare il loro bambino. Ignora tutti e valuta ciò di cui hai bisogno, non ciò di cui hanno bisogno che tu voglia.

Che cosa so se i progetti ASP.NET richiedono un mucchio di infrastrutture (ad es. IIS e configurazione associata), mentre WCF può essere costruito come servizi standalone che vengono eseguiti con una configurazione minima (in genere registrando l'URL di root con Http.sys). Questa è la più grande vittoria per me - recentemente abbiamo avuto alcuni vecchi progetti ASP.NET che dovevamo integrare, e quello che avrebbe potuto essere un compito facile con alcuni servizi WCF è stato un enorme PiTA visto che dovevamo passare attraverso una massa di setup istruzioni (che non erano necessariamente aggiornate, ovviamente) per far funzionare qualcosa, per non parlare dell'installazione di servizi di sistema per farlo.

Quindi è necessario considerare la manutenzione futura coinvolta. Se WebAPI richiede un mucchio di impostazioni, allora lo eviterei.

Ci sono alternative, WWS è molto più efficiente di WCF e supporta gli stessi protocolli (non che importi se usi solo HTTP). Se stai semplicemente creando un'API REST, qualsiasi server web, incorporato o meno, funzionerà. (Ad esempio, ho aggiunto Mongoose a uno dei miei servizi di recente, quindi ora serve anche http per i client, perfettamente e senza problemi usando C ++ non C #).

    
risposta data 05.08.2014 - 14:18
fonte

Leggi altre domande sui tag