C# WCF上的REST API已停止工作

C# WCF上的REST API已停止工作,c#,asp.net-mvc,wcf,rest,routing,C#,Asp.net Mvc,Wcf,Rest,Routing,我有一个和MVC网站一起工作的服务器,它在同一个web.config文件中公开了RESTAPI 一切正常,但rest API突然开始恢复: 找不到该资源 我深入搜索了这个问题,没有发现任何可能导致这个问题的代码更改。其他具有相同代码版本的服务器可以正常工作 我使用RouteDebug工具,得到的输出是RESTAPI的rougting被破坏了。 什么会导致它,我如何修复它 路由位于global.asax.cs文件中,如下所示: routes.Add(new ServiceRoute("MyServ

我有一个和MVC网站一起工作的服务器,它在同一个web.config文件中公开了RESTAPI

一切正常,但rest API突然开始恢复:

找不到该资源

我深入搜索了这个问题,没有发现任何可能导致这个问题的代码更改。其他具有相同代码版本的服务器可以正常工作

我使用RouteDebug工具,得到的输出是RESTAPI的rougting被破坏了。 什么会导致它,我如何修复它

路由位于global.asax.cs文件中,如下所示:

routes.Add(new ServiceRoute("MyServices", new WebServiceHostFactory(), typeof(MyServicesType)));
Web.config:

<service name="namespace.MyServices">
    <endpoint address="mex" binding="webHttpBinding" bindingConfiguration="webHttpBinding" behaviorConfiguration="REST" contract="namespace.IMyServices" />
  </service>
</services>

非常感谢,
N.

在艰难的日子之后,我找到了解决这个问题的奇怪办法

我从web.config文件中删除了服务描述,它开始工作了。 仍然不确定它为什么工作,但现在稳定了

谢谢,
Naftali。

您是否在RouteConfig.RegisterRoutes之前在应用程序启动时注册WebApiConfig?如果没有,你能试着交换一下,看看是否有什么不同吗?嗨,谢谢你的回复。我在Global.asax.cs中的调用是这样的:“AreaRegistration.RegisterAlareas();RegisterRoutes(RouteTable.Routes);”我看不出配置文件在哪里注册,但我认为是IIS服务在应用程序代码实际启动之前注册的。