ScriptResource.axd и .Net 4 - PullRequest
       3

ScriptResource.axd и .Net 4

5 голосов
/ 04 августа 2010

Мы только что преобразовали наш веб-сайт для работы в .NET 4 и обновили наш сервер (Web Server 2008 SP2 IIS7.0) для работы в среде .NET 4. Наш сайт теперь отображает следующую проблему на 50% всех компьютеров, которые пытаются получить к нему доступ, тогда как остальные 50% работают отлично. Все работало нормально под .NET 3.5

Sys.WebForms.PageRequestManagerServerErrorException: The requested name is valid, but no data of the requested type was found. ScriptResource.axd Code:0 Line:5 Char:89043

Наш web.config имеет следующее определение:

<system.webServer>
  <validation validateIntegratedModeConfiguration="false" />
  <directoryBrowse enabled="true" />
  <modules>
   <remove name="ScriptModule"/>
   <add name="ASPxHttpHandlerModule" type="DevExpress.Web.ASPxClasses.ASPxHttpHandlerModule, DevExpress.Web.v10.1, Version=10.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
   <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
  </modules>
  <handlers>
   <remove name="WebServiceHandlerFactory-Integrated"/>
   <remove name="ScriptHandlerFactory"/>
   <remove name="ScriptHandlerFactoryAppServices"/>
   <remove name="ScriptResource"/>
   <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
   <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
   <add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
  </handlers>
 </system.webServer>

Сайт работает с пулом приложений, определенным как:

.NET Framework Version: v4.0
Managed Pipeline Mode: Integrated

Мы переключили сайт для загрузки сценариев Ajax из сети доставки контента MS (ScriptManager EnableCdn = "True") и все еще имели ту же проблему, за исключением того, что на этот раз мы обнаружили проблему, возникающую в:

MicrosoftAkaxWebForms.debug.js Line: 868 Char:13

Удалили все наши собственные скрипты и Ajax Control Toolkit безрезультатно. Что удивительно, так это то, что он работает нормально на 50% машин, а не на остальных 50%. Там нет общего между работами / не работает. Разные o / s разные браузерные миксы. например отлично работает на одной машине Win 7 / IE8 не работает на одной машине с одним и тем же o / s и браузером ... отлично работает на одной машине XP Firefox3 не работает на другой конфигурации.

Любая помощь очень ценится (становится отчаянно !!)

Последнее обновление:

Мы вернули сайт на .Net 3.5 без изменения какого-либо кода на сайте, и все работает отлично. Думаю, мы будем придерживаться 3,5 в обозримом будущем !!

1 Ответ

2 голосов
/ 31 декабря 2010

Пока не сдавайся, у меня было несколько головных болей, когда я обновил наш сайт до 4.0, но ничего, что несколько часов потянулись за волосы, не помогло!

Глядя на свой web.config ...

       <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

   <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
   <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
   <add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

Эти модули все еще ссылаются на старые библиотеки 3.5.Обновите ваши ссылки, чтобы указать на новые версии 4.0 этих библиотек.

Также обратите внимание на изменения, внесенные в 4.0, для минимизации настроек web.config.Одним из способов начать работу было бы создание нового веб-сайта 4.0, чтобы выяснить, что нужно добавить в файл web.config, чтобы начать работу.

Я использую инструментарий управления AJAX на наших сайтах 4.0, и у меня нет ни одного из зарегистрированных вами обработчиков, и я не верю, что вам нужен какой-либо из них (кроме
DevExpress).

Та

Стив

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