Ajax .dll не работает на сайте, размещенном в IIS 7.5 Windows Server 2008 - PullRequest
0 голосов
/ 17 июня 2020

Итак, мне поручено изучить метод ajax, не работающий на сайте, который размещен на windows сервере 2008 и запущен на IIS 7.5. Изучив это, выяснилось, что Ajax .dll вообще не загружается в IIS 7.5, и после внесения некоторых изменений веб-конфигурации в раздел system.webserver у меня все еще возникают проблемы. Согласно одному из сообщений в Интернете, кто-то смог решить эту проблему, удалив роль веб-сервера с сервера и добавив ее снова, объяснение, которое они предоставили, было после добавления его обратно, оно принесло некоторые недостающие компоненты, которые помогли решить проблему. . Я мог бы попробовать это сделать, но в одном я не уверен: в настоящее время существует несколько сайтов, размещенных на IIS 7.5. Если я удалю эту роль, они все go уйдут? enter image description here

Вот что меня беспокоит, когда мне придется вернуть go после того, как я удалю и добавлю эту роль и снова перенесу эти сайты в IIS. Пожалуйста, сообщите!

Это ошибка, которую я вижу на странице. enter image description here

Ответы [ 2 ]

0 голосов
/ 19 июня 2020

Итак, избавляемся от Ajax и приводим jQuery для проверки того, что сайт делал с помощью методов Ajax.

$.ajax({
    type: "POST",
    url: "EditTerritoryArea.aspx/CheckValue",
    data: JSON.stringify({ territoryID: _territoryID, code: box, value: value }),
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (response) {
        if (response.d != null) // error calling server
        {
            txt.value = "";
            txt.focus();
            alert("A problem occurred while tying to communicate with the server.\nPlease try again in a few moments.");
            return;
        }
    });

После подтверждения, что это делает то, что сайт собирался использовать старые методы Ajax, я удалил все ссылки Ajax из приложения.

0 голосов
/ 18 июня 2020

Вы можете добавить следующий код в файл web.confifg вашего сайта, который вызывает это сообщение об ошибке:

<system.webserver>
    <validation validateintegratedmodeconfiguration="false" />
    <modules>
        <add name="ScriptModule" precondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </modules>
    <handlers>
        <remove name="WebServiceHandlerFactory-Integrated" />
  <remove verb="*" path="*.asmx" />
  <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
        <add name="ScriptHandlerFactory" verb="*" path="*.asmx" precondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
        <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" precondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
        <add name="ScriptResource" precondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </handlers>
</system.webserver>

это изменение не влияет на другие настройки сайта.

ajax .dll не работает в iis 7

К сведению Поддержка Windows Server 2008 и 2008 R2 закончилась. вы можете попробовать обновить свою ОС до последней доступной операционной системы.

https://support.microsoft.com/en-us/help/4456235/end-of-support-for-windows-server-2008-and-windows-server-2008-r2

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