2010-06-04 6 views
0

Je soumets des requêtes POST à ​​un serveur externe exécutant IIS6. C'est une demande urgente où je veux m'assurer que ma demande est traitée à une heure précise (disons 10:00:00 AM). Pas plus tôt. Et je veux m'assurer qu'à ce moment précis, ma demande est prioritaire par rapport aux autres demandes. Est-ce que l'un de ces aide:IIS6 Priorisation des requêtes HTTP

  • L'envoi de la plupart du message quelques secondes plus tôt et l'envoi du dernier octet ou quelques millisecondes avant 10:00:00. Je ne sais pas si cela va aider car je vais être en concurrence avec d'autres demandes qui arrivent à cette époque. IIS assignera-t-il une priorité plus élevée à ma demande en fonction de combien de temps je suis connecté?
  • Tout ce que je peux ajouter à l'en-tête du message pour indiquer au serveur de mettre en file d'attente ma demande et de traiter uniquement à un moment donné?

Des hacks connus que je peux exploiter?

Répondre

0

Non - HTTP n'est pas un protocole en temps réel. Il fonctionne généralement au-dessus de TCP/IP qui n'est pas un protocole en temps réel. Alors que vous pouvez obtenir un comportement proche de temps en temps d'une telle architecture est loin d'être simple - ne me prenez pas au mot - allez lire le code source de xntpd. Ceci étant dit, vous ne donnez aucun détail sur le niveau de précision dont vous avez réellement besoin, mais votre message indique qu'il pourrait y en avoir une seconde, ce qui est très long pour soumettre une requête à un serveur Web. D'un autre côté, il est très difficile de planifier un tel événement afin d'éveiller le client avec ce niveau de précision. Je n'ai pas essayé de mesurer la précision du planificateur sur MSWindowsNT mais ailleurs je ne m'attendrais qu'à environ 5 minutes . Vous devez donc planifier le travail pour qu'il commence 5 minutes plus tôt, puis dormez pendant 10 millisecondes à la fois, jusqu'à ce que l'heure cible soit écoulée. Mais encore une fois, en réfléchissant à la raison pour laquelle vous devez exécuter n'importe quel travail avec une sorte de précision temporelle, je pense que vous essayez de résoudre le problème de la mauvaise façon.

C.

0

On dirait que vous avez besoin de plus d'un système de planificateur puis essayer d'utiliser http. HTTP est un protocole sans état, vous envoyez une requête à IIS, vous obtenez une réponse.

Ce que vous pouvez prendre en compte est de prendre cette requête, puis de stocker les informations dont vous avez besoin quelque part (base de données). Puis, en utilisant une sorte de planificateur (cronjobs, tâches planifiées), vous actionnez cette information au moment voulu.

Ce que vous voulez, vous ne pouvez probablement pas réaliser avec IIS, ce n'est pas ce qu'il est conçu pour faire.

Questions connexes