2010-11-16 7 views
0

Ma dernière expérience avec WCF 3.0 était assez mauvaise, à cause de cela je suis revenu à l'utilisation d'ASMX. Je vois maintenant que WCF 4.0 semble fournir un meilleur modèle de configuration, mon seul souci est qu'avec WCF 3.0 j'ai eu beaucoup de timeouts sur les appels de service étendus, mais avec asmx ces valeurs de timeout peuvent être configurées via IIS et acceptent aussi l'entier négatif valeur de -1. La configuration par défaut de WCF 4.0 permet-elle d'obtenir des valeurs de délai d'attente de IIS ou encore une fois de configurer les délais d'attente pour gérer les appels de service Web étendus qui prennent un certain temps (jusqu'à 6 heures).WCF 4 temporisations par défaut?

Merci

Répondre

1

Dans WCF, vous avez le contrôle du niveau de configuration sur les délais d'attente sur les serveurs et les clients en modifiant la configuration de liaison. Étant donné que WCF n'a pas été conçu pour être couplé à IIS, je ne pense pas que vous puissiez hériter des délais d'IIS, vous devrez donc les définir aux deux endroits.

Vérifiez ce lien pour la documentation sur l'élément basicHttpBinding (qui est utilisé pour SOAP 1.1): http://msdn.microsoft.com/en-us/library/ms731361.aspx

Et celui-ci pour plus de détails sur les différentes configurations de délai d'attente dans WCF: http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/84551e45-19a2-4d0d-bcc0-516a4041943d/

J'ai personnellement utilisé le configurations de délai d'attente dans différents projets .Net 3.5 et ils ont travaillé pour moi.

+0

Il existe également un bogue d'expiration de délai d'attente connu dans WCF 4 si votre ordinateur fonctionne assez lentement: http://support.microsoft.com/kb/2536618 –

0

WCF par la nature est le transport agnostique de sorte que la configuration doit accueillir pour les types de transport ne pas avoir délai d'attente.

Problème dans HTTP est si vous avez un délai d'attente pour HTTP et un pour la WCF, il y aura un conflit et c'est pourquoi vous devez les définir séparément.

Je crois que WCF est un big fudge, un agnostique de transport causant une dégradation des performances tout en facilitant le déploiement et la configuration. Cela dit, je pense qu'il est de loin supérieur à ASMX, IMHO :)