Теперь я получаю «ASP.NET Ajax на стороне клиента без загрузки». javascript на моем веб-сайте asp.net 4, как только я запустил его (откройте страницу входа в систему).«ASP.NET Ajax на стороне клиента не загружался» с помощью WCF - все пробовал, все еще получая его
Это произошло только после того, как я ударил Ctrl-F5 (обновить страницу и все изображения/таблицы стилей/скриптов) в браузере во время отладки.
В моем приложении используется asp.net 4 (первоначально написанный на 1.1 или 2), WCF, JsTree, некоторые элементы управления Telerik и расширения/инструментарий MS AJAX.
Через несколько дней прибегая к помощи, я нашел большое число решений, предоставляемых людям с такой же проблемой (в том числе здесь, на SO и Telerik справочных форумах):
Я попытался следующие, никто не работал я:
- Пробовал положить ToolkitScriptManager на странице вместо ScriptManager
- Переход к «программы и компоненты» панели управления и делать «ремонт» на «Microsoft рамочным .net профиль 4 Client» и «Microsoft .net framework 4 Ex как правило,»
- Перемещение ScriptManager в нижней части страницы
- В Web.config, установка компиляции отлаживать =„ложных“
- Стартовал новый проект ASP.NET 4, добавлены и updatedpanel на страницу, посмотрел на web.config, и попытался сделать мой web.config выглядеть как она
- Проверены системная дата ПК была правильной
- использовали расположение элементов в моем web.config, чтобы неавторизованный доступ к WebResource.axd, ScriptResource.axd и Telerik.Web.UI.WebResource.axd (у меня есть элементы управления Telerik на этом сайте)
- Добавлены маршруты.Игноре ("{Ресурс} .axd/{* PathInfo}"); на мой маршрут регистрация в global.asax
Любые другие решения этой проблемы?
Я могу разместить web.config или код при необходимости.
Update 1: Более подробная информация
Я смотрел на то, что происходит с использованием вкладки Firebug, «чистой». Запросы GET для ScriptResource.axd и Webresource.axd не работают с 404. Означает ли это пролить свет на эту проблему?
Обновление 2: Частичное решение? Я использовал историю управления версиями, чтобы вернуть web.config обратно до того, как я добавила на сайт службу WCF. Web.config, что наконец-то работал просто, прежде чем я добавил это:
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="FoldersAspNetAjaxBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
<services>
<service name="Folders">
<endpoint address="" behaviorConfiguration="FoldersAspNetAjaxBehavior" binding="webHttpBinding" contract="Folders" />
</service>
</services>
</system.serviceModel>
... и удалить соответствующую строку маршрутизации от моего global.asax:
routes.Add(new System.ServiceModel.Activation.ServiceRoute("", new System.ServiceModel.Activation.WebServiceHostFactory(), typeof(Folders)));
Так один или оба из них были виновник. Может ли кто-нибудь предложить, как служба WCF или ее маршрутизация могла вызвать эту ошибку MS Ajax?
Это мой первый сервис WCF. Я едва понимаю, что делает вышеуказанный код, но я подозреваю, что проблема маршрутизации лежит в основе проблемы где-то ...
Альтернативно - может ли кто-нибудь предложить альтернативу WCF? Я могу жить без него, если я могу получить данные JSON, переданные jquery другим способом. Возможно, HttpHandler, или WebService, или веб-форму, которая выплевывает JSON как response.write или что-то еще?
Update 2: Маршрутизация
Похоже материал маршрутизации в global.asax необходимо для службы WCF является проблемой (см. Выше) Комментируя, что одна строка, похоже, устраняет проблему. Попытка изменить путь маршрута ...
Решено: Я решил это сам, см. Мой принятый ответ, но, конечно же, не мог сделать это так быстро, без предложений по правильному пути, с некоторыми очень проницательными ответами, Спасибо вам всем.
Выполнено, отредактирован вопрос с результатами. Любые другие предложения? – MGOwen