gpt4 book ai didi

jquery - ASP.NET WebForms Web API jQuery - 404 错误

转载 作者:行者123 更新时间:2023-12-01 08:02:14 25 4
gpt4 key购买 nike

以下内容在我的测试 Web 服务器(Windows 7 上的 IIS 7)上运行:

enter image description here

但是完全相同的代码在两个生产 Web 服务器上都给出了以下 404 错误:
(Windows Server 2008 上的 IIS 7 和 Windows Server 2003 上的 IIS 6)

enter image description here

[代码]

Global.asax 路由设置:

    protected void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{deptId}/{member}",
defaults: new { deptId = RouteParameter.Optional, member = RouteParameter.Optional}
);
}

Page.aspx jQuery语句:

    $.ajax(
{
url: "api/Department/" + '<%= Request.QueryString["deptId"] %>',
contentType: "application/json",
dataType: "json",
success: function (data) {
alert('hello');
}
});

DepartmentController.cs GET 方法:

[HttpGet]
public Department GetDepartment(int deptId)
{
var deptRepo = new DepartmentRepository();
return deptRepo.GetDepartment(deptId);
}

我在这里浏览了很多类似的问题,但没有找到答案。
为什么相同的代码可以在一台 Web 服务器上运行,但不能在其他服务器上运行?
我需要在我的应用程序或 IIS 中配置一些特殊的东西吗?
我真的很困惑。任何帮助将不胜感激。

最佳答案

不确定您是否仍然遇到此问题。我可以通过将其添加到 IIS 服务器上的 web.config 来解决此问题。这来自 here 。原来的答案是从 here 找到的

我在 Web 配置中启用了 ExtensionlessUrlHandler-Integrated-4.0 处理程序的所有动词 (verb="*")。

<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>

关于jquery - ASP.NET WebForms Web API jQuery - 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19018312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com