gpt4 book ai didi

c# - 发布后路由不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 16:22:01 26 4
gpt4 key购买 nike

我有一个 .NET 4.0“Web 应用程序”又名“Web 窗体”。在这个应用程序中,我有一个“Web API Controller 类”和我的“Global.asax”

在 Global.asax 中,我的“Application_Start”方法中有以下代码。

var config = GlobalConfiguration.Configuration;

config.Routes.MapHttpRoute(
name: "DefaultApi"
, routeTemplate: "api/{controller}/{id}"
, defaults: new { id = System.Web.Http.RouteParameter.Optional });

当我启动本地调试 session 时,我可以很好地使用我的路由。如果我输入“/api/ZipCodes”,我会得到预期的 JSON 响应。

当我将我的项目发布到我的远程 IIS 服务器(发布方法:文件系统)时,路由不再有效。我收到 404 错误。

我假设有一个设置或我需要在 IIS 上启用的东西,以便它识别和使用路由。

  • IIS 版本 7.0.6000.16386
  • .NET 应用程序池 4.0 版

  • 我的网站位于“C:\inetpub\hosts”中,还有其他 7 个以上的网站都可以正常工作。没有使用路由。

  • 我有一个带有“Hello World”的 Default.aspx,我可以在远程 IIS 服务器和我的本地调试 session 中正确访问它。
  • 当我在本地机器上调试时,我可以输入“http://localhost:6358/api/ZipCodes”并获得我的 JSON 响应。如果我在远程计算机“http://remoteserver.com/api/ZipCodes”上输入相同的 url,它会返回 404。

有人知道吗?

最佳答案

如果您的 IIS 是最新的(我假设是 7.0 或更高版本),并且应用程序池配置为用户框架 4.0,那么应该可以使用任何其他操作或配置。

关于c# - 发布后路由不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13612688/

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