2 votes

Paramètres de configuration Wcf pour le service .svc pour une performance maximale et des clients restreints

J'ai un service wcf .svc installé sur IIS sur un serveur Windows 2003 et des clients dans des applications asp.net, installées sur différents serveurs Windows 2003 dans le même domaine. AFAIK, seul le transport http peut être utilisé sur l'hôte IIS.

Je dois spécifier des paramètres de configuration qui

  1. maximiser performance y

  2. seulement mes clients (situés sur mon domaine) doivent être autorisés à utiliser mon service. Le service ne doit pas pouvoir être découvert et ne doit pas pouvoir être utilisé par des clients non autorisés.

MISE À JOUR : J'ai envisagé le cryptage des certificats de message pour satisfaire à la deuxième exigence, mais ce n'est pas une bonne solution du point de vue des performances.

Le service consiste en un certain nombre d'opérations avec des chaînes de caractères ou des listes de chaînes de caractères comme paramètres.

[OperationContract]
List<string> TranslateList(List<string> textList);

Les chaînes de caractères sont courtes et le nombre dans la liste est généralement petit aussi. Les clients appellent le service de manière synchrone et s'attendent à recevoir une réponse rapidement.

Veuillez nous indiquer les paramètres de configuration à utiliser.

Les paramètres seraient modifiés pour d'autres configurations telles que

configuration B :les clients et le service sont situés sur le même serveur Windows 2003

configuration C :les clients et le service sont situés sur le même serveur Windows 2008 (Je pense que je pourrais utiliser le transport par canalisation)

configuration D :les clients et le service sont situés sur les différents serveurs Windows 2008 (je pense que je pourrais utiliser le transport TCP)

0voto

Amar Palsapure Points 7025
  1. Performance : Vous pouvez Compresser votre demande et votre réponse. Pour ce faire, vous pouvez utiliser gZip .
  2. Mes clients seulement
    • Supprimez la liaison mex de votre web.config et définissez ensuite httpGetEnabled à false . De cette manière, personne ne peut créer un proxy de votre service.
    • Vous pouvez utiliser les en-têtes Http pour vérifier si la demande provient uniquement de votre client. En savoir plus aquí .

Pour le choix des fixations aquí est un bon article

Configuration B : WSHttpBinding
Configuration C : NetNamedPipeBinding
Configuration D : NetTcpBinding

Vous pouvez également vérifier les performances de NetTcpBinding aquí

J'espère que cela vous aidera.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X