Mon application ASP.NET Envoi de httpwebrequest au serveur de repos à distance et à attendre la réponse, et j'ai trouvé qu'il y a beaucoup de même message d'erreur comme celui-ci:
System.net.WebException: l'opération a expiré. à System.net.httpwebrequest.geterresponse () p> BlockQuote>
Est-ce que cela est possible qu'après que j'ai attrapé cette exception et fermez directement la connexion HTTP sous-jacente? Ou je n'ai pas vraiment à le faire depuis que j'ai déjà défini Keepalive to False? P>
Merci. P>
En réalité, une autre question est si l'exception du délai d'attente est toujours arrivée au système
. NET.HTTPWEBREQUEST.GETRESPONSONSE (), CODE> Est-ce que cette moyenne d'application attend la réponse du serveur distant et ne pouvait pas obtenir de réponse avant de sortir. Quelle pourrait être la raison éventuelle, la connexion réseau non stable? Serveur distant non réponse? Toutes les autres raisons possibles? p>
Voici le code: p>
xxx pré> p>
4 Réponses :
La règle simple est que si elle n'appelle pas Idisposal, elle n'a pas besoin de disposer de. p>
N'étais pas implémenté Idisposal, mais j'ai trouvé qu'il existe de nombreuses connexions dans la condition de près_wait, je ne sais pas ce qui s'est passé, inquiet de si mon code ne manipulait pas correctement les connexions sous-jacentes.
Je pense que vous devez faire confiance aux concepteurs-cadres sur celui-ci. Découvrez stackoverflow.com/questions/716436/... Pour plus d'informations.
Même si en général, il est vrai que cela ne résout pas ce problème
Assurez-vous de disposer aussi bien que de proximité.
ou utilisez en utilisant les blocs em> au lieu de essayer-enfin em>: p>
Une autre chose que vous pouvez faire est d'appeler la méthode d'abandon () sur un httpwebrequest qui a entraîné une erreur, comme:
Aussi, vous pouvez également augmenter le nombre de connexions sortantes dans la machine.Config:
<system.net> <connectionManagement> <add address="*" maxconnection="2" /> </connectionManagement> </system.net>
Avez-vous compris la solution? Je me suis battu le même problème. Je n'ai plus d'idées.
@Alekseybykov vous avez dit que la réponse marquée ne résout pas votre problème? Alternatives?