访问OData服务给404“资源未找到错误”

问题描述:

这可能是一个完全托管服务相关的问题,但我会张贴在这里,以防万一它是一个更常见的问题。访问OData服务给404“资源未找到错误”

我正在我的ASP.NET MVC 2网站上运行OData服务,该服务在我的笔记本电脑IIS上正常工作,但是当我将它部署到我的Winhost网站时,404资源未找到错误,当尝试访问.svc -文件。

早些时候,我有2个不同的身份验证,所以我得到了“System.InvalidOperationException:IIS指定的身份验证方案'基本,匿名'....”错误,所以我知道在那时处理程序试图启动服务。

修复后,我得到了“资源未找到错误”。

该服务位于/ Services文件夹中,但似乎并不重要。无论我把它放在哪里,它总是给我404错误。我的本地站点bin文件夹中的所有二进制文件都位于我的远程站点bin文件夹中。

该网站上的其他一切似乎工作正常。

如果有人有解决这个问题,将不胜感激。

终于搞清楚了。由于我的网站是一个ASP.NET MVC 2站点,我需要忽略到该服务的路由。否则,ASP.NET将开始寻找该URI的控制器。

因此,我添加了routes.IgnoreRoute("Services/ServiceFilename.svc/{*pathInfo}");到我的并且voilá问题解决了。

虽然我不明白为什么服务在我的笔记本电脑IIS 7上工作,没有忽略的路线。