2010-08-27 4 views
1

Nous avons un service Web asmx hébergé dans IIS6. Existe-t-il un bon moyen de limiter le nombre d'appels au service dans une période donnée pour une adresse IP unique? Nous ne voulons pas mettre une limite dure (X nombre de fois par heure), mais nous voulons être en mesure d'empêcher un pic d'un seul utilisateur.Limitation du nombre d'appels à un service Web ASMX

Nous étudions actuellement si notre pare-feu est capable de limiter les tentatives de connexion. Dans le cas où notre pare-feu n'est pas capable de limiter les connexions, y a-t-il un bon moyen de gérer cela par programmation? Plutôt que d'essayer de trouver notre propre solution personnalisée et de réinventer la roue, y a-t-il une implémentation ou une stratégie existante qui peut être utilisée?

Répondre

1

Les services Web ASMX ne sont pratiquement pas extensibles. Si vous avez le choix, vous devriez utiliser WCF.

Vous pourriez être en mesure d'écrire une méthode à appeler de chacun de vos opérations, qui examinerait l'appelant IP, vérifier dans une base de données et lancer une SoapFault si cette IP est connecté trop. C'est à peu près tout ce qu'il y a, cependant. Vous pourriez être en mesure de le faire à partir d'une extension Soap, mais vous devez être très prudent avec ceux-ci.

+0

Nous ne serons pas en mesure de migrer ce service vers WCF, mais nous allons développer de nouveaux services en utilisant WCF. Puisque cette question est spécifique à asmx, j'ai posé une autre question ici spécifiquement sur WCF: http://stackoverflow.com/questions/3588866/limiting-number-of-calls-to-an-wcf-web-service – nivlam

Questions connexes