WebResource.axd - работает на одном компьютере; дает 404 на другой

Ситуация:

  1. Мы создали сборку с нашим собственным элементом управления ASP.NET.

  2. Этот элемент управления регистрирует некоторые ресурсы (изображения, файлы JavaScript и т. Д.);

  3. Есть веб-приложение, которое использует наш контроль.

  4. Контроль хорошо загружен и получите доступ к внутренним ресурсам. В результате в HTML-коде все обращения к ресурсам выглядят как «/WebResource.axd?d = ...». Все идет нормально.

  5. У нас есть два компьютера: первый - Win7 32, используемый для разработки, второй - Win7 64 - для тестирования.

Проблема:

  • Сборка, созданная на машине Dev, работает на ней хорошо, но выдает ошибку 404 для всех запросов к WebResource.axd при запуске на тестовом компьютере.
  • Если мы просто скопируем исходники на Тестовый компьютер и соберем там нашу сборку - она ​​хорошо работает на обоих компьютерах.

Мы используем .NET 4.0. Все последние обновления установлены на обоих компьютерах. Веб-приложение, использующее наш элемент управления, запускается прямо из VS 2010 (на сервере разработки ASP.NET).

Любое предложение?


person Sergiy    schedule 24.08.2011    source источник


Ответы (2)


Мы нашли проблему. На нашем тестовом компьютере была установлена ​​неправильная дата / время (за 10 дней до реальной даты). Так что наша сборка (построенная на системе разработки) рассматривалась ею как «DLL из будущего». И кажется, что ASP.NET может выдержать сборку «из будущего», но ему не нравятся «будущие» ресурсы, помещенные в эту сборку. Как только мы исправили установку даты в системе тестирования - все заработало. Надеюсь, этот случай поможет кому-нибудь другому.

person Sergiy    schedule 27.08.2011
comment
дорогой бог спасибо тебе за это! Никогда бы не подумал взглянуть на часы, но, конечно же, они были установлены больше года назад! исправление времени исправило это прямо для меня! - person SelAromDotNet; 29.06.2012
comment
ВАУ :) Это решило проблему, которую мы пытались решить за 2 дня на наших серверах !! Фраза из будущего звучит так забавно, но именно она и стала причиной проблемы! Спасибо за отличный ответ :) Наши prod-серверы размещены на другом континенте, поэтому время на dev-серверы составило -8 часов :) - person Alex Dn; 22.11.2012

Сборка с вашим элементом управления asp.net может не входить в развертывание вашего веб-приложения.

Найдите ссылку на свою сборку в веб-приложении, щелкните ее правой кнопкой мыши и выберите свойства. Найдите поле копирования локально и установите для него значение true. перекомпилируйте приложение и повторно разверните его на другой машине.

person AmunRa    schedule 24.08.2011
comment
Это не так. Сборка развернута, и наш элемент управления хорошо показан, за исключением изображений внутри нее (которые взяты из ресурсов). Я вижу источник веб-страницы и все эти запросы к WebResource.axd (например: ‹img src = / WebResource.axd? D = .... /›. Если я попытаюсь открыть такой URL-адрес в другой вкладке на компьютер разработки - я вижу изображение. Та же операция на тестовой машине возвращает ошибку 404. - person Sergiy; 25.08.2011
comment
Это должно быть что-то, связанное с безопасностью или разрешениями, но я не знаю, где искать. - person Sergiy; 25.08.2011