我有一个 .NET 4.0“Web 应用程序”又名“Web 表单”。在这个应用程序中,我有一个“Web API 控制器类”和我的“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 });
当我启动本地调试会话时,我可以很好地使用我的路由。如果我输入“/api/ZipCodes”,我会得到预期的 JSON 响应。
当我将项目发布到我的远程 IIS 服务器(发布方法:文件系统)时,路由不再有效。我收到 404 错误。
我假设我需要在 IIS 上启用一个设置或某些东西,以便它识别和使用路由。
- IIS 版本 7.0.6000.16386
.NET 应用程序池 4.0 版
我的网站与其他 7 个以上的网站都位于“C:\inetpub\hosts”中。没有人使用路由。
- 我有一个带有“Hello World”的 Default.aspx,我可以在远程 IIS 服务器和本地调试会话上正确访问它。
- 当我在本地机器上调试时,我可以输入“http://localhost:6358/api/ZipCodes”并获得我的 JSON 响应。如果我在远程机器“http://remoteserver.com/api/ZipCodes”上输入相同的 url,它会给我一个 404。
有人知道吗?