2个WCF服务,1个通用接口,多个头痛

时间:2010-07-27 20:50:34

标签: c# .net wcf

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

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

服务2:处理所有GET请求。请求采用JSON,响应采用 JSONP 。从界面继承和建议的所有方法都标有WebGet

到目前为止一切顺利。现在解雇这些家伙aaaaa和splat。这是我得到的错误:

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

double hmmmmmm:如果您通过VS创建默认WCF服务添加第二个服务并标记所有方法实现,则此设置可以正常工作。

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

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

1 个答案:

答案 0 :(得分:1)

您是否尝试删除对包含合同(接口)的项目的引用并重新添加它。或者甚至只是尝试运行“清洁解决方案”以防万一已经过时。

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