WebApi没有发布?

时间:2013-09-18 18:53:18

标签: c# asp.net-mvc-4 iis-7 asp.net-web-api

我目前有两个控制器。一个是MVC,另一个是WebApi控制器。 我已经使用以下设置在IIS服务器上轻松发布了这两个:

WebApiConfig:

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

RouteConfig:

        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "MVCControllerName", action = "MVCControllerName", id = UrlParameter.Optional }
        );

现在我添加了另一个WebApi控制器,但是在发布时,网络服务器说:

  

未找到与请求URI匹配的HTTP资源

http://example.com/folder/api/Other?id=45&text=bla

OtherController

的实施
    public void Get(int id, string text)
    {
         // something simply gets commited to the DB
    }

此外,发布时发生了一些奇怪的事情...我已经从解决方案中删除了第一个WebApi控制器,但出于某种原因,在发布时我可以 STILL 通过HTTP GET请求调用WebApi!即使它已经消失了!

OTOH,它在调试模式下工作正常。

这里发生了什么?

编辑:似乎问题不在我的代码中,而是在VS'发布功能中。它始终始终工作。我不得不手动将文件复制到服务器,这不是所谓的“一键发布”。其他类似的SO问题似乎表明它是一个VS错误,在SP2中仍然没有修复。

0 个答案:

没有答案