Bonjour,
Je d=E9veloppe une appli winform MDI dans laquelle (comme son nom
l'indique) on est capable d'ouvrir plusieurs sous fen=EAtres au sein
desquelles on peut lancer le t=E9l=E9chargement de donn=E9es via web
services.
Donc, dans chaque sous fen=EAtre j'ai un objet BackgroundWorker et un
proxy web service. Le backgroundWorker lance l'appel =E0 la m=E9thode web
en tache de fond. Tout =E7a fonctionne tr=E8s bien.
Si j'ouvre deux fen=EAtres et que je lance le t=E9l=E9chargement, j'ai bien
mes deux progressBar qui avancent en parall=E8le.
Par contre, si j'ouvre 4 fen=EAtres et que je lance les 4
t=E9l=E9chargements, seuls les deux premiers se lancent en parall=E8le et
d=E8s que l'un d'entre eux se termine, le 3=E8me d=E9marre.
En fait, tout se passe comme si j'avais un pool de 2 Thread. Quoi que
je fasse je ne suis pas capable de lancer plus de 2 t=E9l=E9chargement
simultan=E9ment.
Y a t-il une limitation du backgroundWorker?? Pourtant j'ai bien une
instance de backGroundWorker par fen=EAtre fille.
(Pour info, j'ai un dual core et j'ai vaguement l'impression que le
chiffre 2 vient de l=E0)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jérémy Jeanson
Bonjour Fragmonster,
Je pense que tu fais une petite confusion entre multi-thread, multi-core, hyper-threading...
Quelle que soit ta machine, elle est capable de lancer plusieurs threads (sans quoi tu ne pourrais pas faire grand chose d'un PC). Pour faire simpl le BackGroundWorker est là pour te permettre de simplifier l'exécution des tâches asynchrones. Cependant si la ressource dont le BackGroundWorker à besoin n'est pas disponible, il ne peut pas faire de miracle et va réalisé son job dès que possible. Dans ton cas il faudrait donner un peu plus d'information sur le code que tu utilise pour ton téléchargement...
Notes que si ton code utilise des ressources de Internet Explorer ou son gestionnaire de téléchargement, celui-ci est effectivement limité par défaut à 2 téléchargement en parallèle.
Je penses donc que dans ton cas il s'agirait plutôt d'une limitation due à ta méthode de téléchargement. -- Jérémy JEANSON MCP http://www.jjeanson.fr
Bonjour Fragmonster,
Je pense que tu fais une petite confusion entre multi-thread,
multi-core, hyper-threading...
Quelle que soit ta machine, elle est capable de lancer plusieurs threads
(sans quoi tu ne pourrais pas faire grand chose d'un PC). Pour faire
simpl le BackGroundWorker est là pour te permettre de simplifier
l'exécution des tâches asynchrones. Cependant si la ressource dont le
BackGroundWorker à besoin n'est pas disponible, il ne peut pas faire de
miracle et va réalisé son job dès que possible. Dans ton cas il faudrait
donner un peu plus d'information sur le code que tu utilise pour ton
téléchargement...
Notes que si ton code utilise des ressources de Internet Explorer ou son
gestionnaire de téléchargement, celui-ci est effectivement limité par
défaut à 2 téléchargement en parallèle.
Je penses donc que dans ton cas il s'agirait plutôt d'une limitation due
à ta méthode de téléchargement.
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Je pense que tu fais une petite confusion entre multi-thread, multi-core, hyper-threading...
Quelle que soit ta machine, elle est capable de lancer plusieurs threads (sans quoi tu ne pourrais pas faire grand chose d'un PC). Pour faire simpl le BackGroundWorker est là pour te permettre de simplifier l'exécution des tâches asynchrones. Cependant si la ressource dont le BackGroundWorker à besoin n'est pas disponible, il ne peut pas faire de miracle et va réalisé son job dès que possible. Dans ton cas il faudrait donner un peu plus d'information sur le code que tu utilise pour ton téléchargement...
Notes que si ton code utilise des ressources de Internet Explorer ou son gestionnaire de téléchargement, celui-ci est effectivement limité par défaut à 2 téléchargement en parallèle.
Je penses donc que dans ton cas il s'agirait plutôt d'une limitation due à ta méthode de téléchargement. -- Jérémy JEANSON MCP http://www.jjeanson.fr
fragmonster
En fait je télécharge des données par web service. J'ai donc un proxy par fenêtre fille ainsi qu'un backgroundWorker qui lance l'appel à la méthode web en tache de fond.
J'ai illustré le problème à l'aide d'une petite video : http://screencast.com/t/Fju2Dso8
Comme vous le voyez, j'ouvre 4 fenêtres et je lance les 4 appels. Les deux premiers partent, et dès que l'un se termine le 3ème démarre. Ca voudrait dire que je suis limité à 2 appels web service simultanés même si j'ai 4 proxy différents?
En fait je télécharge des données par web service. J'ai donc un proxy
par fenêtre fille ainsi qu'un backgroundWorker qui lance l'appel à la
méthode web en tache de fond.
J'ai illustré le problème à l'aide d'une petite video :
http://screencast.com/t/Fju2Dso8
Comme vous le voyez, j'ouvre 4 fenêtres et je lance les 4 appels. Les
deux premiers partent, et dès que l'un se termine le 3ème démarre. Ca
voudrait dire que je suis limité à 2 appels web service simultanés
même si j'ai 4 proxy différents?
En fait je télécharge des données par web service. J'ai donc un proxy par fenêtre fille ainsi qu'un backgroundWorker qui lance l'appel à la méthode web en tache de fond.
J'ai illustré le problème à l'aide d'une petite video : http://screencast.com/t/Fju2Dso8
Comme vous le voyez, j'ouvre 4 fenêtres et je lance les 4 appels. Les deux premiers partent, et dès que l'un se termine le 3ème démarre. Ca voudrait dire que je suis limité à 2 appels web service simultanés même si j'ai 4 proxy différents?
Jérémy Jeanson
Effectivement tu peux avoir un souci avec ton proxy. As tu testé en executant deux applciations en même temps pour savoir si le souci n'était pas une limitation sur ton service (ou serveur)? -- Jérémy JEANSON MCP http://www.jjeanson.fr
Effectivement tu peux avoir un souci avec ton proxy. As tu testé en
executant deux applciations en même temps pour savoir si le souci
n'était pas une limitation sur ton service (ou serveur)?
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Effectivement tu peux avoir un souci avec ton proxy. As tu testé en executant deux applciations en même temps pour savoir si le souci n'était pas une limitation sur ton service (ou serveur)? -- Jérémy JEANSON MCP http://www.jjeanson.fr
fragmonster
J'ai finalement trouvé la réponse à mon problème : La limitation es t dûe aux spécification de HTTP1.1 qui en fait limite à 2 le nombre de connexions simultanées à un serveur distant.
J'ai finalement trouvé la réponse à mon problème : La limitation es t
dûe aux spécification de HTTP1.1 qui en fait limite à 2 le nombre de
connexions simultanées à un serveur distant.
J'ai finalement trouvé la réponse à mon problème : La limitation es t dûe aux spécification de HTTP1.1 qui en fait limite à 2 le nombre de connexions simultanées à un serveur distant.