当api在另一个站点下创建为Web应用程序时,路由失败

时间:2014-08-18 16:18:39

标签: asp.net .net iis asp.net-web-api asp.net-web-api-routing

我使用ASP.net web api开发了一个rest api。当我在iis上部署这个rest api时,我需要在asp.net网站下创建它作为web应用程序。当我将其余的api部署为iis中的新网站时,事情运行正常。我正在使用以下路线api/{controller}/{id}
当我在asp.net网站项目下创建其余的api作为Web应用程序时,我将Web应用程序命名为api。我现在无法访问api方法。有人能指出我做错了吗?

1 个答案:

答案 0 :(得分:2)

WebApi基于global.asax和web.config配置,您不能在同一个应用程序中包含其中两个文件。在您描述的场景中,听起来您需要创建一个"虚拟目录"在IIS中为第二个应用程序而不是仅仅制作一个"子文件夹"。

虚拟目录将允许您声明一个新的web.config和global.asax,您可以在其中为第二个应用程序设置新的路由和配置方法。

有关如何执行此操作的完整演练,请参阅此站点:

http://msdn.microsoft.com/en-us/library/vstudio/bb763173(v=vs.100).aspx