C# 2个WCF服务,1个通用接口,多个难题

C# 2个WCF服务,1个通用接口,多个难题,c#,.net,wcf,C#,.net,Wcf,我有两个WCF服务,它们实现了来自单独库的接口。接口的方法未标记WebGet或WebInvoke属性。但是,一个服务将处理POST请求,而另一个服务将处理GET请求。所以有点像这样: 服务1:处理所有POST请求。请求是JSON格式的,响应是JSON格式的。从接口继承和实现的所有方法都标记为WebInvoke 服务2:处理所有GET请求。请求是JSON格式,响应是JSONP格式。从接口继承和实现的所有方法都用WebGet标记 到目前为止还不错。现在把这些人放在AAAA和splat上。这是我得到的

我有两个WCF服务,它们实现了来自单独库的接口。接口的方法未标记WebGet或WebInvoke属性。但是,一个服务将处理POST请求,而另一个服务将处理GET请求。所以有点像这样:

服务1:处理所有POST请求。请求是JSON格式的,响应是JSON格式的。从接口继承和实现的所有方法都标记为WebInvoke

服务2:处理所有GET请求。请求是JSON格式,响应是JSONP格式。从接口继承和实现的所有方法都用WebGet标记

到目前为止还不错。现在把这些人放在AAAA和splat上。这是我得到的错误:

Operation 'SomeMethod' in contract 'IServiceContract' has both WebGetAttribute and WebInvokeAttribute; only one can be present. 
嗯,如果实际的接口已经标记了一个或两个属性,那么这是有意义的,但是它不是

double-hmmmm:如果您通过VS添加第二个服务并标记所有方法实现来创建默认WCF服务,那么这个设置工作得非常好

三重HMMMMM:如果我只从JSONP服务中删除WebGet属性(将WebInvoke保留在JSON服务上),它就可以工作。如果从JSON服务中删除WebInvoke属性,情况也是如此


编辑:另一件奇怪的事情是,只有一个服务抛出此错误(my JSONP/GET服务),而常规的JSON/POST服务可以工作。

您是否尝试删除对包含合同(接口)的项目的引用并重新添加它。甚至可以尝试运行“干净的解决方案”,以防过时


我假设这是您正在使用的项目参考?

您可以发布界面的完整代码吗?还有可能是您的实现?不幸的是,我找到了它……是的,在查看了将近半天的代码之后,我发现如果我删除对库(包含接口)的引用,然后重新添加它,一切都会正常工作。