设置应用程序单独的Web API项目和ASP.NET应用程序

时间:2013-08-25 13:49:55

标签: asp.net asp.net-web-api web-site-project

我正在尝试从另一个ASP.NET经典项目中使用Web API服务(实际上它是一个本机JS和Html Web应用程序)。 如何在VS2012上配置这些两个独立的项目以便相互交流?

最终结果将是:

http://localhost:8080/api/products

将通过路由到位于WebAPI项目上的ProductsController返回产品列表(JSON),

http://localhost:8080/index.html

将被路由到第二个项目的本页 - 本机HTML / JS项目。

如何在这两个项目中配置逻辑到物理目录? 谢谢!

2 个答案:

答案 0 :(得分:8)

事实证明这很简单。 我所要做的就是配置这两个项目以共享本地IIS上的相同端口: 因此,对于本机JS / HTML(我的第二个项目),我使用:

Project for the native JS/HTML - Has nothing to do with .NET!

第二个项目(WEB-API项目):
enter image description here

就是这样! 现在js可以使用Web-Api!

答案 1 :(得分:1)

您只需要一个项目:ASP.NET Web API。我会将index.html放在scripts和js文件夹下的root和javascript文件中。

通常静态内容(如js和html)可以由IIS在ASP.NET Web API项目中直接提供。您需要确保添加它们以忽略启动中的规则:

RouteTable.Routes.IgnoreRoute("*.js");
RouteTable.Routes.IgnoreRoute("*.html");