2009-11-18 17 views
1

Genuine Channels est un ensemble de canaux tiers pour .Net Remoting.À quoi dois-je m'attendre lors du transfert d'une application de Genuine Channels à WCF?

On m'a donné les tâches de remplacer les usages de .Net Remoting dans un client Rick et un serveur avec WCF. Je suis familier avec le remoting .net standard mais pas les canaux authentiques.

Alors, à quels problèmes dois-je m'attendre et des pointeurs vers les solutions?

+0

Vous devriez spécifier quel type d'objet/d'opérations/d'utilisation particulière vous faites avec votre produit, sinon c'est difficile à dire. – Dani

+0

@Dani, désolé je n'ai pas encore regardé le code, mais je sais que le serveur envoie beaucoup d'événements au cleint (je pense que c'était la raison de l'utilisation de Genuine Channels en premier lieu) –

Répondre

2

Il y a quelques caractéristiques de GenuineChannels qui étaient les raisons pour lesquelles nous il utilisé à l'origine sur Remoting .NET standard:

  1. cela fonctionne grâce à l'authentification des procurations, alors que .Net Remoting ne
  2. il peut diffuser des événements sur le serveur et les clients ont les recevoir
  3. il a une fonctionnalité intégrée pour faire face à déconnecter ions (les signalant à l'application via des événements) et les reconnexions automatiques
  4. il s'intègre étroitement avec l'authentification SSPI, mais a également la possibilité de passer à un mécanisme alternatif (il est désigné par GC comme ZPA)
  5. gzip peut compresser le trafic entre le serveur et les clients
  6. il peut chiffrer le trafic entre le serveur et les clients (à l'aide sous-jacente appelle Win32)
  7. il a le contrôle d'intégrité, ce qui empêche la modification par un hôte intermédiaire

Il a aussi beaucoup d'autres securi caractéristiques liées à votre application.

Je n'ai pas utilisé WCF donc je ne sais pas si elles sont supportées, mais cela devrait vous donner une liste de choses à vérifier.

1

L'envoi d'un événement au client n'est pas un comportement naturel de WCF. Vous devez utiliser un contrat duplex il y a une certaine connaissance ici: Sending events from WCF server

Alors que d'autres WCF est assez cool: définiriez-vous le contrat de données, et le contrat d'exploitation en utilisant les attributs, et vous avez un fonctionnement de service. Plus de précautions doivent être prises lors de la tentative de sérialisation des objets circulaires (mais il est résolu) et le reste - vous devrez trouver pendant que vous portez/apprentissage WCF.

Il existe un moyen facile - d'utiliser une DLL partagée, et la manière difficile (mais le plus "soa" amical) - pour générer un serveur proxy au client.

Juval Lowy - Ceci est un bon livre pour commencer, et le reste est googlable ....