【发布时间】:2014-01-04 11:41:55
【问题描述】:
我有一个在 v4.0 集成模式下运行的 asp.net 网络表单应用程序。
我尝试在 App_Code 文件夹中添加一个 apicontroller。
在 Global.asax 中,我添加了以下代码
RouteTable.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = System.Web.Http.RouteParameter.Optional }
);
当我尝试导航到 http://localhost/api/Value 的控制器时,我收到 404 错误。
无扩展名 url 在处理程序部分中配置。我为网站启用了表单和匿名身份验证。
ExtensionLess url 配置为 '*.'
当我点击控制器的 url 时,请求由 StaticHandler 而不是 ExtensionlessUrlHandler-Integrated-4.0 处理。
我现在不知道为什么系统会抛出如下图所示的错误。
【问题讨论】:
-
您确定不需要在 URL 中使用端口吗?喜欢
http://localhost:23243/api/ValueController -
有Get方法吗?如果我没记错的话,应该也是
/api/Value。 -
我不需要端口,因为网站配置在 80 端口。
-
有一个Get定义
-
您是否安装了 MVC4 和 WebApi NuGet 包(或 DLL)?我从未尝试在 Web 窗体项目中使用 WebApi 控制器。
标签: c# asp.net asp.net-mvc asp.net-web-api