将WebApi添加到IIS中的现有网站

时间:2015-11-25 16:13:10

标签: iis asp.net-web-api

我在IIS中托管了一个Angular网站。我正在添加Asp.net WebApi 2作为服务器。

我所做的是将我的IIS默认网站指向Angular网站的根目录。一切都在那里工作。然后我将WebApi添加为该站点的应用程序。但是我的问题是,由于WebApi的默认路由以/ api开头,并且我在将WebApi添加为应用程序时必须提供别名,我的URL最终看起来像这样:(假设我的WebApi应用程序的别名是' api& #39)

http://localhost/api/api/controller

如何将WebApi添加到现有网站并让我的路由没有双' / api /?

我可以为我的控制器提供自定义路线,如下所示:

[RoutePrefix("controller")]

这会覆盖来自' / api / controller'的路线。只是' /控制器'导致正确的行为。但这感觉很糟糕,而且我必须对每个控制器都这样做。

1 个答案:

答案 0 :(得分:1)

我设法通过在配置WebApi路由时删除routeTemplate属性中'{controller}'之前的'/ api /'来解决问题:

var toggle="high";
//how to toggle?
$(function(){
 $('.sort').click(function () {
    if (toggle == "high") {            
        toggle = "low";
        $('.list').html($('.list .wrapper').sort(sortLow));
    } else {          
        toggle = "high"
        $('.list').html($('.list .wrapper').sort(sortHigh));
    }
  });
});