2017-02-10 3 views
0

J'essaie de lire un fichier, en utilisant une URL, mais je continue à obtenir un 504 Gateway Timeout.504 erreur lors de la demande de fichier à partir de l'URL dans codebehind

L'utilisateur soumet un formulaire, et j'ai besoin de récupérer des informations à partir d'un fichier xml assez volumineux (45mb), en utilisant un XmlTextReader. Cependant, à chaque fois que la demande est faite, il revient avec un 504 Gateway Timeout sur un serveur, mais cela fonctionne très bien sur un autre serveur. L'erreur 504 est renvoyée après environ 20 secondes, mais sur l'autre serveur, où cela fonctionne, le fichier est lu beaucoup plus rapidement que cela.

XmlTextReader reader = new XmlTextReader(localUrl); 

La question est étrange que IIS ne se connecte pas même cette demande. J'ai parcouru les journaux et je peux trouver l'entrée dans le système qui fonctionne, mais dans le système qui ne fonctionne pas, il n'y a pas de demande dans les journaux IIS. Ce qui donne l'impression qu'il ne frappe même pas IIS.

+2

proxy? Pouvez-vous ouvrir un navigateur directement sur ce serveur et téléchargeriez-vous le fichier, avec la même URL, fonctionnant comme le même utilisateur? – dlatikay

+0

Merci pour cela, j'ai complètement oublié de vérifier le nom sous lequel il fonctionnait. Une fois que je me suis connecté avec l'utilisateur que l'apppool fonctionne, j'ai trouvé que les paramètres de proxy étaient différents de l'autre serveur. Après avoir mis à jour cela, il a commencé à fonctionner. – Lex

Répondre

0

Il semble que le problème est que l'utilisateur de l'AppPool s'exécute avec ses paramètres de proxy configurés de manière incorrecte, par conséquent, il n'a pas pu effectuer l'appel dont il avait besoin.

Une fois que j'ai corrigé les paramètres de proxy pour cet utilisateur, il a commencé à fonctionner.