我有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服务工作.