2010-12-10 19 views
3

J'ai un problème vraiment étrange dans MVC/IE8 et je me demandais si quelqu'un avait vu quelque chose comme ça. J'ai une URL qui renvoie une feuille de calcul Excel sous la forme http://application.mycompany/Controller.aspx/Action/ID1/ID2 (j'utilise le .aspx dans la route en raison de la version de IIS). Cela ouvre à partir d'une page avec l'application, très bien. J'ai aussi des e-mails avec des corps HTML qui sont envoyés avec des liens et tous les liens s'ouvrent bien en dehors de celui-ci - il donne une erreur disant "Impossible de télécharger ID2 depuis application.mycompany, IE n'a pas pu ouvrir le site ". J'ai vérifié le code HTML dans l'e-mail et l'emplacement du lien sur la page qui fonctionne et ils sont identiques. Si je tape le texte exact du lien (ou copiez et collez-le à partir de l'e-mail) dans la barre d'adresse IE, il échoue à nouveau, mais si je clique sur le même texte dans la barre addres à la fin il charge et crache le fichier. Il semble que ça marche bien de le coller directement dans FireFox, mais je ne peux pas cliquer sur le lien et charger FF car je travaille à distance et n'ai pas Firefox sur mon bureau Citrix, et je ne peux pas trouver quelqu'un qui l'a leur navigateur par défaut (mais comme ça marche la première fois, j'imagine que ça irait).Très étrange ASP.NET MVC et IE8 Lien/URL Numéro

Quelqu'un a-t-il déjà vu cela ou a-t-il des idées sur ce qui pourrait le provoquer? Ce problème se produit sur plusieurs machines, donc ce n'est pas un complément/paramètre impair autant que je peux voir.

Merci

MH

---------------------------- ------- Mise à jour ---------------- J'ai utilisé Fiddler pour voir ce qui se passe et la réponse aux deux requêtes est identique, à part l'horodatage. réponse a échoué: -

HTTP/1.1 200 OK 
Cache-Control: no-cache 
Pragma: no-cache 
Content-Type: application/vnd.ms-excel; charset=utf-8 
Expires: -1 
Server: Microsoft-IIS/7.0 
X-AspNetMvc-Version: 1.0 
content-disposition: attachment;filename=Filename.xls 
X-AspNet-Version: 2.0.50727 
X-Powered-By: ASP.NET 
Date: Mon, 20 Dec 2010 10:31:52 GMT 
Content-Length: 2354 

<style type"text/css">.text { mso-number-format:\@; } .TableHead { background-color: #BDBDBD; } </style> 
....confidential file content removed 

réponse réussie: -

HTTP/1.1 200 OK 
Cache-Control: no-cache 
Pragma: no-cache 
Content-Type: application/vnd.ms-excel; charset=utf-8 
Expires: -1 
Server: Microsoft-IIS/7.0 
X-AspNetMvc-Version: 1.0 
content-disposition: attachment;filename=Filename.xls 
X-AspNet-Version: 2.0.50727 
X-Powered-By: ASP.NET 
Date: Mon, 20 Dec 2010 10:32:18 GMT 
Content-Length: 2354 

<style type"text/css">.text { mso-number-format:\@; } .TableHead { background-color: #BDBDBD; } </style> 

et simplement répéter, la seule chose que je fais pour générer la deuxième demande est de cliquer sur le texte URL dans la barre d'adresse généré la première requête et appuyez sur Entrée. L'erreur que j'obtiens est "" Internet Explorer n'a pas pu ouvrir ce site Internet. Le site demandé est indisponible ou introuvable. S'il vous plaît réessayer plus tard. »

+1

Juste une mise à jour, cela a été testé sur une autre machine et ce comportement exact existe dans IE, mais si vous changez le navigateur par défaut pour le chrome le lien s'ouvre bien, la première fois. –

Répondre

1

pour citer le similar discussion on the Sitepoint forums.

il est la mise en cache, si vous sélectionnez no-cache IE peut » t trouver le fichier à enregistrer, mais si vous autorisez la mise en cache fonctionne. Annoying que le même fichier peut être téléchargé à des moments différents et peuvent être différentes si les choses ont changé , si la mise en cache est un peu dangereux (je vais devoir le suffixe du nom de fichier avec un horodatage pour éviter , je pense). http://support.microsoft.com/kb/316431 donc cela le corrige Response.Cache.SetCacheability (HttpCacheability.Privé); mais il n'explique pas pourquoi il fonctionne parfois, surtout directement à partir de la page web lien

« Ce problème est inhérent à la conception » - traduction « nous ne pouvons pas obtenir ce travail et ABC pour obtenir il travaille » - incroyable comment Firefox, Opera et Chrome ne pas avoir ce problème ......

0

J'ai vu certains wierdness autour IE + Perspectives + mailto liens avec un grand nombre de caractères. Au-dessus de 128 caractères, mailto liens ne fonctionnent pas avec IE + Outlook.

Je voudrais essayer pour diminuer le nombre de caractères dans votre ancre pour voir si vous pouvez obtenir d'être plus fiable.

+0

Thx pour la suggestion, j'ai vérifié et l'URL est seulement 83 caractères, plus cela arrive aussi taper l'URL directement dans IE sans même charger, ou en cliquant à partir de, Outlook –

+0

juste testé sur mon ordinateur portable à la maison que a Windows 7 mais pas de perspectives sur elle et le problème persiste, donc je ne pense pas que ce soit un problème de perspectives, merci pour la suggestionm, chaque idée aide .... –

1

cet article kb pourrait aider à faire la lumière:

http://support.microsoft.com/kb/316431

"Les sites Web qui souhaitent autoriser ce type d'opération doivent supprimer l'en-tête ou les en-têtes no-cache."

+0

Oups je n'ai pas remarqué qu'il était référencé précédemment ci-dessus . –

+0

Merci. Indique le peu de MS connu - cela s'applique aussi aux sites (comme le nôtre) sans SSL. "Ce comportement est voulu" a besoin du suffixe "- designed by idiots". –