2010-04-09 10 views
1

J'ai un site Web où je provicde un lien. En cliquant sur le lien une méthode d'action du contrôleur est appelée pour générer un fichier zip après la création du fichier zip, je montre le lien pour télécharger le fichier zip en remplaçant le lien pour créer un zip avec le lien pour télécharger le zip. Le problème est qu'après la création du fichier zip et le lien est affiché, lorsque l'utilisateur clique sur le lien pour télécharger le fichier zip, ils sont envoyés à la connexion. Après avoir fourni les informations d'identification correctes dans la page de connexion, ils sont invités à télécharger le fichier zip. ils ne devraient pas être envoyés à la page de connexion. Dans l'action de générer un fichier zip, je n'ai pas abandonné la session ou n'ai rien fait qui sépare la session.appel asp.net mvc méthode d'action en utilisant jquery post méthode expire la session

l'utilisateur ne devrait pas être averti de se connecter à la page après la création réussie de l'utilisateur du fichier zip devrait être en mesure de télécharger le fichier sans connexion.

Je recherche sur Internet sur ce problème, mais je n'ai trouvé aucune solution. Dans un blog écrit par hanselman j'ai trouvé cette déclaration qui crée le problème avec la session: est-ce une autre chose comme un appel Ajax ou le conseiller de contenu d'IE simultanément frapper la page par défaut ou la page de connexion et provoquer une condition de concurrence qui appelle Session.Abandon ? (C'est arrivé avant!)

alors j'ai pensé qu'il pourrait y avoir un problème avec l'appel ajax qui fait expirer la session, mais je ne sais pas ce qui se passe?

toute aide

s'il vous plaît

merci

+0

Essayez de cerner le problème en premier. –

+0

c'est comme ça après que les utilisateurs cliquent sur le lien pour créer un fichier zip le fichier zip est créé avec succès mais la session est expirée. ce n'est pas ce que je veux. Pourquoi la session doit-elle être expirée après un appel de jquery post à l'action du contrôleur pour créer un fichier zip? J'espère que vous comprendrez le problème. – nccsbim071

Répondre

1

les gars j'ai trouvé la solution à ce problème. Le problème était comme ceci: J'ai créé un fichier zip dans le dossier de l'application et dans. Net 2.0, il est une règle que toute modification apportée aux fichiers de l'application et au dossier entraîne l'expiration de la session. Dès que j'ai créé le fichier zip dans le répertoire autre que le répertoire dans le dossier de l'application, tout a bien fonctionné.

anyways grâce

1

Je pense que problème est avec la permission sur le dossier dans lequel vous avez créé le fichier Zip.

0

La session n'a rien à voir avec l'accès aux ressources.

Si une invite s'affiche pour se connecter, cela signifie que la ressource que l'utilisateur veut télécharger est protégée par FormsAuthenication ou WindowsAuthentication.

Si vous ne le souhaitez pas, vérifiez la section Autorisation dans web.config.

+0

même si ne cliquez pas sur le lien pour télécharger et cliquez sur d'autres liens sur la page Web, je reçois le login. – nccsbim071

+0

Cela se produit-il sur votre serveur web de développement local, sur votre iis local ou sur un serveur Web de production? –

+0

il arrive à la fois lors du débogage dans Visual Studio et sur le serveur de production. J'ai déjà hébergé le site, et oui ça arrive même là. – nccsbim071

Questions connexes