我将旧的非MVC代码集成到MVC 4项目中。旧代码的WCF服务的根目录和API子文件夹中的.SVC扩展名受基本认证。在MVC中调用WCF服务时找不到HTTP资源
首先,向所有SVC文件发布诸如(http://mysite/myservice.svc/DoCommand)的404错误。然后,我添加这样的:
routes.IgnoreRoute( “{allsvc}”,新的{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信息屏幕。
哦,最后,这只发生在产品开发中,与本地主机相反,一切正常。
非常感谢您的帮助。谢谢。
没有工作。 http://mysite/myservice.svc/DoCommand工作; http://mysite/API/myservice.svc/DoCommand不起作用,所以这是某种路由问题。 – user1044169
你可以发布你的路线? – Mightymuke
而这就是它令人困惑的地方。在RouteConfig.cs中我有routes.IgnoreRoute(“{* allsvc}”,新{allsvc = @“。* \。svc(/.*)?”});,所以我想MVC忽略所有对SVC文件的请求。那么,MVC之外的哪些配置会路由到SVC文件?我不知道在哪里可以找到。 – user1044169