Встроенные ресурсы, доступные по ссылкам WebResource.axd, не работают в производственной среде
Хорошо, это поставило меня в тупик.
У меня есть несколько серверных элементов управления, определенных в проекте VB.NET .NET 4, давайте назовем его WebControls, чтобы поделиться им с другими проектами в решении. WebControls использует встроенные ресурсы (изображения), поэтому мне не нужно включать изображения в каждый проект, которые ссылаются на элементы управления. Я использую Page.ClientScript.GetWebResourceUrl для установки атрибутов изображения ImageUrl в серверных элементах управления.
Все это прекрасно работает в моем приложении X, которое использует элементы управления из WebControls на моем dev-сервере. Однако, когда я отправляю это в производство, изображения, представленные как встроенные ресурсы, не отображаются.
Мой рабочий сервер работает под управлением IIS 7.0. Я знаю, что отключение сжатия ни на что не влияет и что для файлов.axd веб-ресурса присутствуют соответствующие обработчики IIS.
Еще более странно то, что у меня есть копии этого приложения (названные по-разному, разумеется) на том же производственном сервере, и на них все отлично работает, но не в X. Пул приложений использует интегрированный.NET 4 и не будет работать в классическом режиме.,
Какие-либо предложения?
1 ответ
Понял это. Очень странно. Я перестроил свой класс WebControls и другие мои приложения в режиме отладки и перенес эти.dll на свой рабочий сервер, и все работало нормально. Затем я перестроил в режиме выпуска и снова отправил DLL-файлы в рабочий режим, заменив отладочные DLL-файлы, и снова все заработало нормально. Кажется, это была проблема с VS 2010, не корректно очищающей dll, когда я очищал и перестраивал свои приложения для выпуска.