Я переместил свое приложение asp.net 3.5 в asp.net 4.0 и перешел из windows 2003 (iis6) в windows 2008 r2 (iis7.5), и теперь у меня появляется ошибка sys is undefined
.
У меня приложение работает в интегрированном пуле приложений. все работает кроме моего ajaxtoolkit 3.0.20820.0 dll
сейчас я прочитал несколько постов в блоге, большинство из которых посвящены файлам asp.net 2.0 web.config, а не свернутым файлам конфигурации asp.net 4.0.
Вот некоторые части из моего текущего файла конфигурации:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<validation validateIntegratedModeConfiguration="false"/>
<handlers>
<add name="AjaxToolkit" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add name="ChartImg" verb="*" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</handlers>
и другая часть:
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler" validate="false"/>
<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />
</httpHandlers>
Для asp.net 4.0 и проблемы с обработчиком http ajaxtoolkit не так много информации, поэтому я надеюсь, что какой-то гуру @ stackoverflow поможет мне:)
EDIT:
, так как у меня есть эта глупая sys неопределенная вещь, мой global.asax выдает это on_Error:
Error Message: This is an invalid script resource request.
Stack Trace:
at System.Web.Handlers.ScriptResourceHandler.ProcessRequest(HttpContext context)
at System.Web.Handlers.ScriptResourceHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
это в файлах scriptresource.axd: S
Edit2: странно то, что мой локальный web.config не имеет каких-либо обработчиков в web.config и работает на casini для веб-сервера разработки
Редактировать 3: люди говорят, что у Адриана есть решение здесь:
http://budigelli.wordpress.com/2007/05/01/error-sys-is-undefined-error/
но я не могу заставить его работать на IIS7
Редактировать 4: Я где-то читал, что IIS7 имеет сопоставление с подстановочными знаками в Handler mapping
Я видел, что в отсортированном списке выше сопоставления .axd есть сопоставление без расширения. но теперь я все еще не знаю, как настроить сопоставления в IIS7 для поддержки Ajaxtoolkit!