gpt4 book ai didi

c# - 2个WCF服务,1个通用接口(interface),多头头疼

转载 作者:行者123 更新时间:2023-11-30 12:52:58 31 4
gpt4 key购买 nike

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

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

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

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

Operation 'SomeMethod' in contract 'IServiceContract' has both WebGetAttribute and WebInvokeAttribute; only one can be present. 

嗯嗯,如果实际接口(interface)已经用一个或两个属性标记,这将是有意义的,但事实并非如此。

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

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

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

最佳答案

您是否尝试过删除对包含契约(Contract)(接口(interface))的项目的引用并重新添加它。或者甚至只是尝试运行“Clean Solution”以防某些东西已经过时。

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

关于c# - 2个WCF服务,1个通用接口(interface),多头头疼,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3347857/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com