WCF vs ASP.NET - IPC binario

2

Ho un servizio Windows e un server IIS remoto che devono comunicare senza alcuna interazione dell'utente. Poiché non posso garantire che le due macchine saranno sulla stessa rete; il servizio si collegherà al IP pubblico del server su Internet (quindi la sicurezza è fondamentale) e trasmetterà il binario crittografato avanti e indietro. Sto ancora cercando di decidere se utilizzare un servizio restful ASP.NET o WCF sul lato server.

Mi piace l'idea di WCF e espongo la sua interfaccia in modo da poter fare riferimento e utilizzare direttamente con POCO nello sviluppo del client; ma è qualcosa di abbastanza nuovo per me stesso e l'impostazione di tutto e ottenere la sicurezza giusta è un problema (soprattutto se si rilascia HTTP per net.tcp)

ASP.NET è molto più facile da configurare ed eseguire, ma consumare la API REST da un client http sul lato client sembra clunky. E poiché non ci saranno pagine web; avere richieste e risposte HTTP sembra un sovraccarico ridondante.

Da qualcuno che conosce un po 'di più su WCF, questo sarebbe un uso più appropriato per esso su ASP.NET? O mi manca qualcosa qui?

    
posta user1868265 12.08.2018 - 14:32
fonte

2 risposte

0

Considera l'utilizzo di ASP.NET MVC con Binary JSON (BSON) o JSON-RPC.

Nel complesso, JSON ha un sovraccarico molto inferiore rispetto al protocollo SOAP utilizzato da WCF e ci sarà un supporto migliore da Microsoft (e altri) in futuro.

Eviterei WCF per questo, anche se sembra supportare JSON. WCF ha una reputazione per essere difficile da lavorare, e ci sono alternative migliori, più agili (e sì, più moderne).

Né hai necessariamente bisogno della conformità REST. REST è un protocollo per stabilire rappresentazioni e operazioni standard per documenti e altre risorse su Internet. Se non hai bisogno di questa funzionalità, non hai bisogno di REST.

Riferimenti
Specifica RPC JSON
JPack Router Rpc per Asp.Net Core
Specifica BSON < br> Supporto BSON in API Web ASP.NET 2.1
Come ho spiegato REST a mia moglie

    
risposta data 13.08.2018 - 16:51
fonte
0

Non c'è dubbio che WCF sia una tecnologia superiore quando si tratta delle varie opzioni di sicurezza e protocollo che hai con esso. Tuttavia, il fatto è stato superato da Rest style .net Web.Api o .net core MVC apis.

HTTPS è abbastanza sicuro, i dati binari possono essere opportunamente codificati, i client possono essere scritti a mano e in modo cruciale le API di JSON possono essere facilmente utilizzate da siti Web e lingue non Microsoft.

Non credo che qualcuno consiglierebbe WCF su Web.Api nel 2018 solo perché è vecchio.

    
risposta data 12.08.2018 - 23:08
fonte

Leggi altre domande sui tag