Impossible d'accéder à un fichier fermé
J'ai un ASP.NET contrôle FileUpload qui fonctionne très bien jusqu'à ce que je le déployer. Puis il fonctionne très bien, sauf si le fichier est plus ~55kb. Je pense que cela a quelque chose à voir avec les publications et que je dois le mettre dans une variable de session. Encore, il fonctionne pour les petits fichiers.
Est-il peut-être une limitation de la taille d'une variable de session peut être? Mais il fonctionne lors de l'exécution de mon IDE donc pas sûr.
Système.ObjectDisposedException: Ne peut pas accéder à un fichier fermé
Merci pour tout conduit.
Vous devez vous connecter pour publier un commentaire.
Cela peut être résolu en donnant DiskBufferSize dans le web.config:
par Impossible d'accéder à un fichier fermé
J'ai fait quelques tests de cela, et il semble que la mise DiskBufferSize va contourner le problème en désactivant la mise en mémoire tampon. Maintenant, l'ordinateur utilisera plus de mémoire. Maintenant, de mise en mémoire tampon est désactivé. et les gains de performances que vous obtenez, il n'en est allé.
Je pense que la bonne solution consiste à utiliser la méthode SaveAs pour enregistrer le posté fichier dans un dossier temporaire sur la PREMIÈRE publication, et de stocker le chemin d'accès au fichier pour le fichier temporaire dans l'état d'affichage ou de la session.
Après de postes supplémentaires de retour ou de rediriger, surtout si les threads asynchrones sont impliqués, le SaveAs fonction n'est pas d'aller travailler si la mémoire tampon est nécessaire; vous recevrez le message d'erreur "Impossible d'accéder à un fichier fermé".
Je ne sais pas ce que vous avez mis dans la variable de session", mais je devine que c'est le fichier de contrôle, qui est la question.
Cette résolu le problème pour moi, au cas où d'autres sont en cours d'exécution dans le présent, mais ne voulez pas désactiver la mise en mémoire tampon.