Généralement, le plus rapide du côté Windows sera LRPC. Selon vos besoins, la WCF peut être un réel problème. Nous utilisons des protobuffers Win32 LRPC + pour obtenir un débit 40 fois plus rapide du serveur Web vers le service d'arrière-plan. Cela dépend de vos besoins.
(voir Benchmarking WCF compared to Protocol Buffers + RpcLibrary)
Le protobuf-csharp-port a le plus de ce que vous avez besoin pour définir le service et les messages. Ensuite, en utilisant protobuf-csharp-rpc pour fournir la sérialisation du message sur un Win32 LRPC transport layer. Une fois que vous avez dépassé la définition du protocole dans les protobuffers, c'est vraiment facile. Il suffit de quelques lignes de code sur le client/serveur pour créer la classe de connexion et de proxy.
Encore une fois, tout dépend de ce que vous cherchez; Cependant, à mon humble avis, il n'y a pas actuellement une meilleure architecture RPC pour le .NET Framework. Je suis, bien sûr, partiale à mon avis, mais nous utilisons des variantes depuis 2003 et cela fonctionne. PS: Si vous construisez le service à partir de zéro, vous pouvez consulter mon guide au Building a Windows Service Project Template. Il vous permettra de démarrer assez rapidement avec real la journalisation des événements, l'installation et les tests de ligne de commande.
Quel type de communication? Combien de transactions/messages? Quantité de données? – sll
Un site Web et un service Web partageant la même base de données ne sont-ils pas inutiles? Pourquoi consommer le service lorsque vous pouvez accéder directement aux données? –