【发布时间】:2014-02-12 21:09:13
【问题描述】:
我已经实现了创建 WebApi 本身,我可以从浏览器浏览它并获取输出。
对我不起作用的是,我正在尝试从 MVC 控制器使用 WebAPI,并且我已经在“cshtml”视图中编写了用于调用 WebAPI 的代码。
但这不起作用,因为我在加载页面时遇到错误,我知道我做错了什么。所以第一个问题是:我这样做是否正确,或者在 MVC 项目中创建 WebAPI 部分然后尝试从控制器在同一个 MVC 项目中使用它是完全错误的?
【问题讨论】:
-
发布您的错误。但是,您为什么要从同一个应用程序中使用 Web API,因为我假设该应用程序已经可以访问该服务所封装的所有代码?为什么要在不需要时花费额外的开销?
-
我完全同意你的看法,但是有什么技术原因我不能这样做,或者这只是一种错误的实现方式?
-
@Maess、MVC 和 WebAPI 被设计为存在于同一个应用程序中。如果需要,您可以将特定的 API 控制器发送到单独的文件夹,例如根目录中的“API”以将它们分开。这就是为什么你有一个
RouteConfig.cs和一个WebApiConfig.cs存在于同一个App_Start文件夹中的原因——因为它预计会在同一个项目中利用这两者。不过,这不是必需的。 -
@user1570094,您不想从视图内部调用 WebAPI。您想从 MVC 前端控制器内部调用 WebAPI,如下所述。
标签: asp.net-mvc asp.net-web-api