Очень странная проблема ссылок / URL в ASP.NET MVC и IE8 - PullRequest
3 голосов
/ 10 декабря 2010

У меня действительно странная проблема в MVC / IE8, и мне было интересно, видел ли кто-нибудь что-нибудь подобное. У меня есть URL, который возвращает таблицу Excel в форме http://application.mycompany/Controller.aspx/Action/ID1/ID2 (я использую .aspx в маршруте из-за версии IIS). Это открывается со страницы с приложением, хорошо. У меня также есть электронные письма с телами HTML, которые разосланы, в которых есть ссылки, и все ссылки открываются нормально, кроме этой - выдает ошибку, говорящую: «Невозможно загрузить ID2 из application.mycompany, IE не удалось открыть сайт ». Я проверил HTML в электронном письме и расположение ссылки на странице, которая работает, и они одинаковы. Если я наберу точный текст ссылки (или скопирую и вставлю его из электронного письма) в адресную строку IE, то это снова не получится, но затем, если я нажму на тот же текст в адресной строке в конце и нажму клавишу ввода еще раз он загружает и выплевывает файл. Кажется, все работает нормально, вставляя его прямо в FireFox, но я не могу проверить нажатие на ссылку и загрузку FF, так как я работаю удаленно и у меня нет Firefox на моем рабочем столе citrix, и я не могу найти никого, у кого он есть как их браузер по умолчанию (но так как он работает в первый раз, я думаю, что все будет в порядке).

Кто-нибудь видел это раньше или получил какие-либо идеи, что может быть причиной, пожалуйста? Эта проблема возникает на нескольких компьютерах, поэтому, насколько я вижу, это не странная надстройка / настройка.

Спасибо

MH

---------------------------- Обновление ------------------ ----- Я использовал Fiddler, чтобы увидеть, что происходит, и ответ на оба запроса идентичен, кроме метки времени. Неудачный ответ: -

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

Успешный ответ: -

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>

и просто повторюсь, единственное, что я делаю, чтобы сгенерировать второй запрос, - это нажать на текст URL в адресной строке, сгенерировавшей первый запрос, и нажать Enter.

Я получаю сообщение об ошибке: «» Internet Explorer не смог открыть этот интернет-сайт. Запрашиваемый сайт либо недоступен, либо не найден. Пожалуйста, попробуйте позже. "

Ответы [ 3 ]

1 голос
/ 21 декабря 2010

Цитировать подобное обсуждение на форумах Sitepoint .

Это кеширование, если вы выберете IE без кеша не может найти файл сохраните его, но если вы разрешите его кэшировать работает. Раздражает, как тот же файл может загружаться в разное время и вполне может быть иначе, если вещи изменилось, поэтому кеширование немного опасно (мне придется суффикс имя файла с отметкой времени, чтобы избежать это, я думаю). http://support.microsoft.com/kb/316431 так что это исправляет Response.Cache.SetCacheability (HttpCacheability.Private); но это все еще не объясняет, почему это иногда работает, особенно прямо из ссылка на веб-страницу

«Такое поведение задуманно» - перевод "мы не можем заставить это работать и ЦБ, чтобы все заработало "- удивительно как Firefox, Opera и Chrome не есть эта проблема ......

1 голос
/ 09 февраля 2012

Эта статья в кб может помочь пролить свет на:

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

"Веб-сайты, которые хотят разрешить этот тип операции, должны удалять заголовок или заголовки без кэша."1006 *

0 голосов
/ 12 декабря 2010

Я видел некоторые странности в ссылках IE + Outlook + mailto с большим количеством символов. Более 128 символов почтовые ссылки не работают с IE + Outlook.

Я бы попытался уменьшить количество символов в вашем якоре, чтобы посмотреть, сможете ли вы сделать его более надежным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...