我正在将旧的非 MVC 代码集成到 MVC 4 项目中。旧代码在根目录和受基本身份验证的 API 子文件夹中具有带有 .SVC 扩展名的 WCF 服务。
起初,所有 SVC 文件的 (http://mysite/myservice.svc/DoCommand) 等帖子都给出 404 错误。然后我添加了这个:
routes.IgnoreRoute("{ allsvc}", new { allsvc = @"..svc (/.*)?" });
现在可以调用站点根目录中的 SVC 文件。但是,API 子文件夹中的 SVC 文件现在返回:
<Error>
<Message>
No HTTP resource was found that matches the request URI 'http://mysite/API/myservice.svc/DoCommand'.
</Message>
</Error>
如果我不包括 DoCommand,那么我会得到标准的 WCF 信息屏幕。
哦,最后,这只发生在 prod 中——在开发中,与 localhost 对抗,一切正常。
非常感谢您的帮助。谢谢。