简单WebAPI路径在localhost中有效,但在IIS 8.5中无效

简单WebAPI路径在localhost中有效,但在IIS 8.5中无效,iis,asp.net-web-api,iis-8,Iis,Asp.net Web Api,Iis 8,我创建了一个非常简单的4.6.1WebAPI,它返回一个JSON列表 下面的代码在路径为的localhost中工作 公共类产品控制器:ApiController { 产品[]产品=新产品[] { 新产品{Id=1,Name=“番茄汤”,Category=“杂货”,Price=1}, 新产品{Id=2,Name=“Yo”,Category=“Toys”,Price=375万}, 新产品{Id=3,Name=“Hammer”,Category=“Hardware”,Price=16.99M} };

我创建了一个非常简单的4.6.1WebAPI,它返回一个JSON列表

下面的代码在路径为的localhost中工作

公共类产品控制器:ApiController
{
产品[]产品=新产品[]
{
新产品{Id=1,Name=“番茄汤”,Category=“杂货”,Price=1},
新产品{Id=2,Name=“Yo”,Category=“Toys”,Price=375万},
新产品{Id=3,Name=“Hammer”,Category=“Hardware”,Price=16.99M}
};
公共IEnumerable GetAllProducts()
{
退货产品;
}
公共IHttpActionResult GetProduct(int id)
{
var product=products.FirstOrDefault((p)=>p.Id==Id);
如果(产品==null)
{
返回NotFound();
}
返回Ok(产品);
}
}
然后,我使用发布功能,将web.config、global.asax和Bin文件夹移动到IIS 8.5服务器上,并将其移动到具有此路径的子文件夹中

e:\www\api\fct\hl

如果我尝试在路径处访问webapi

它只返回一个404


我现在不知所措。

hl
是一个文件夹,而不是一个应用程序。@CodeCaster我不知道该怎么处理这个评论。你是说hl也需要是一个应用程序,还是在路径中没有引用?不清楚的。Thx将其转换为一个应用程序,看看是否有效。@CodeCaster-Thx,我将hl也制作成一个应用程序,现在它也可以工作了。
 public class ProductsController : ApiController
    {
        Product[] products = new Product[]
       {
            new Product { Id = 1, Name = "Tomato Soup", Category = "Groceries", Price = 1 },
            new Product { Id = 2, Name = "Yo-yo", Category = "Toys", Price = 3.75M },
            new Product { Id = 3, Name = "Hammer", Category = "Hardware", Price = 16.99M }
       };

        public IEnumerable<Product> GetAllProducts()
        {
            return products;
        }

        public IHttpActionResult GetProduct(int id)
        {
            var product = products.FirstOrDefault((p) => p.Id == id);
            if (product == null)
            {
                return NotFound();
            }
            return Ok(product);
        }
    }