【发布时间】:2012-11-05 06:46:02
【问题描述】:
我正在开发一个 ASP.NET MVC 4 网站。连同 MVC 控制器,我有一个 API 控制器,其中包含一个 ajax GET API 接口。当使用 Visual Studio 在本地调试时,它可以完美运行。
但是,在我将其部署为 Azure 网站后,MVC 控制器可以工作,但 API 控制器不再工作。当 jQuery 代码尝试访问它时,它会返回如下响应:
未找到与请求 URI 'http://example.com' 匹配的 HTTP 资源。
看起来至少该路由有效(否则,将返回另一个 404 响应正文。)。
此外,我将另一个纯 MVC 4 Web API 服务部署为 Azure 云服务。它完美地工作。因此,我想知道是什么导致 MVC 网站内的 API 失败?谢谢!
【问题讨论】:
-
让我们看看我们是否可以通过配置 Web API 来显示更多错误详细信息来获取更多信息。只是为了快速调试,您可以将以下内容添加到 global.asax.cs 文件中:
GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;然后使用 Fiddler 观察返回的请求和响应。在回复中,我们现在希望有一些额外的信息来帮助我们调试。 -
感谢马克的提示。这次的详细信息是:没有找到与名为“xxxx”的控制器匹配的类型。
-
好的,然后运行 Youssef 建议的检查。虽然我很惊讶你在本地调试时没有同样的问题。
-
MVC 是否有可能未正确部署到 Azure?
-
我有完全相同的问题,Web Api 应用程序在本地和云服务 Web 角色机器上运行良好,但在 AWS 中却没有。此外,除了“没有找到任何类型匹配名为“xxx”的控制器”
标签: .net asp.net-mvc-4 asp.net-web-api http-status-code-404 azure-cloud-services