Ajax.dll 无法在 IIS 7.5 Windows Server 2008 中托管的站点上运行
Ajax.dll is not working on a site hosted in IIS 7.5 Windows Server 2008
因此,我的任务是调查一个 ajax 方法无法在 windows server 2008 和 运行 IIS 7.5 上托管的站点上运行。对此进行研究后,发现 Ajax.dll 在 IIS 7.5 中根本没有加载,并且在 system.webserver 部分中进行了一些 Web 配置更改后,我仍然遇到问题。根据其中一篇在线帖子,有人能够通过从服务器中删除 Web 服务器角色并再次添加来解决此问题,他们提供的解释是在添加回来之后,它确实带来了一些有助于解决问题的缺失组件.我可以尝试这样做,但有一件事我不太确定,即目前有少数网站托管在 IIS 7.5 上。如果我删除这个角色,他们会全部消失吗?
这就是我担心的,一旦我删除并添加此角色并将这些站点重新引入 IIS 后必须返回。请指教!
这是我在页面上看到的错误。
您可以在您的站点 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 not working in iis 7
供您参考 Windows Server 2008 和 2008 R2 的支持已经结束。您可以尝试使用最新的可用操作系统升级 OS。
因此,摆脱 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 引用。
因此,我的任务是调查一个 ajax 方法无法在 windows server 2008 和 运行 IIS 7.5 上托管的站点上运行。对此进行研究后,发现 Ajax.dll 在 IIS 7.5 中根本没有加载,并且在 system.webserver 部分中进行了一些 Web 配置更改后,我仍然遇到问题。根据其中一篇在线帖子,有人能够通过从服务器中删除 Web 服务器角色并再次添加来解决此问题,他们提供的解释是在添加回来之后,它确实带来了一些有助于解决问题的缺失组件.我可以尝试这样做,但有一件事我不太确定,即目前有少数网站托管在 IIS 7.5 上。如果我删除这个角色,他们会全部消失吗?
这就是我担心的,一旦我删除并添加此角色并将这些站点重新引入 IIS 后必须返回。请指教!
这是我在页面上看到的错误。
您可以在您的站点 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 not working in iis 7
供您参考 Windows Server 2008 和 2008 R2 的支持已经结束。您可以尝试使用最新的可用操作系统升级 OS。
因此,摆脱 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 引用。