问题标签 [wcf-client]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5503 浏览

c# - WCF REST Starter Kit - 名称为“UriTemplateMatchResults”的属性已存在

我刚开始使用 WCF REST Starter Kit。

我创建了一个返回对象数组的简单服务。

使用浏览器,一切正常,但是当我使用 WCF 客户端时,我得到一个 ArgumentException。

我没有使用 IIS,代码如下:

合同:

启动服务:

启动客户端:

服务器和客户端在同一个解决方案中,我在两者中使用相同的接口(描述服务合同)。

异常显示:“名称为 'UriTemplateMatchResults' 的属性已存在。” 这就是堆栈跟踪:

触发异常的类-> Microsoft.ServiceModel.Web.WrappedOperationSelector

堆栈跟踪:

我究竟做错了什么?

更新:我禁用了帮助页面,该服务现在正在运行。它是一个错误吗?

谢谢!

安德烈·卡鲁奇

0 投票
5 回答
108741 浏览

wcf - 如何确保您没有收到 WCF 故障状态异常?

我得到了这个例外:

通信对象 System.ServiceModel.Channels.ServiceChannel 不能用于通信,因为它处于故障状态。

WCF 服务使用默认的 wsHttpBinding。无论我在哪里使用 WCF,我都以以下方式使用它:

消息中显示的错误行似乎在最后一个 proxy.close 之后。不知道发生了什么。我正在从 Visual Studio 08 中启动该服务。

这是跟踪信息:

0 投票
4 回答
8054 浏览

wcf - WCF 测试客户端应用程序是否存在已知限制?

我知道这已经发生过几次了。如果我将许多 OperationContract 添加到 ServiceContract,WCF 测试客户端应用程序会引发异常:

“添加服务失败。服务元数据可能无法访问。确保您的服务正在运行并公开元数据。”

在详细信息中,它继续:

错误:无法从 获取元数据。请求失败,HTTP 状态为 400:错误请求。

如果我删除了几个运营合同,那么一切都很好。在测试客户端之外也很好。

0 投票
26 回答
114143 浏览

c# - WCF 客户端“使用”块问题的最佳解决方法是什么?

我喜欢在一个using块中实例化我的 WCF 服务客户端,因为它几乎是使用实现的资源的标准方式IDisposable

但是,正如这篇 MSDN 文章中所述,将 WCF 客户端包装在一个using块中可能会掩盖任何导致客户端处于故障状态(如超时或通信问题)的错误。长话短说,当Dispose()被调用时,客户端的Close()方法会触发,但由于它处于故障状态而引发错误。然后,原始异常被第二个异常掩盖。不好。

MSDN 文章中建议的解决方法是完全避免使用using块,而是实例化您的客户端并使用它们,如下所示:

using街区相比,我认为这很丑陋。每次需要客户端时都要编写大量代码。

幸运的是,我发现了一些其他的解决方法,例如在(现已不复存在的)IServiceOriented 博客上的这个。你开始:

然后允许:

这还不错,但我不认为它像using块一样富有表现力和易于理解。

我目前尝试使用的解决方法是我第一次在blog.davidbarret.net上读到的。基本上,无论您在哪里使用,您都可以覆盖客户端的Dispose()方法。就像是:

这似乎能够using再次允许该块,而没有掩盖故障状态异常的危险。

那么,在使用这些变通方法时,我还需要注意哪些其他问题?有没有人想出更好的办法?

0 投票
3 回答
28445 浏览

wcf - WCF 测试客户端错误:无法调用服务

尝试将 WCF 测试客户端与我的 WCF 服务一起使用时出现错误。这是服务代码:

我可以使用 WCF 测试客户端连接到服务,但是当我尝试调用 GetEmployee(employeeNumber) 时,我收到以下错误:

调用服务失败。可能原因:服务离线或无法访问;客户端配置与代理不匹配;现有代理无效。有关更多详细信息,请参阅堆栈跟踪。您可以尝试通过启动新代理、恢复到默认配置或刷新服务来恢复。

通过从浏览器发送请求,我能够成功调用此服务。

知道为什么我不能使用 WCF 测试客户端吗?

0 投票
4 回答
1961 浏览

soap - 可能使用格式错误的故障消息?

我有一个 WCF 客户端与我无法控制的未知服务器实现进行通信。这个客户端工作正常,只是不喜欢,看起来是,格式不正确的 SOAP 错误消息。我收到的消息如下所示:

我相信根据soap模式,子元素不应该被限定并且看起来像:

有什么我可以配置或覆盖的东西,以便我可以使用以后一种格式到达的消息,以便我可以使用错误消息而不是 xml 异常?

0 投票
1 回答
3771 浏览

wcf - 使用 Wcf 流式传输图像文件

我想通过 Wcf 将大图像发送到服务器。我可以将其作为字节 [] 传递。我该怎么做。什么是 MTOM...我在哪里可以找到示例...?

0 投票
3 回答
7893 浏览

c# - 如何从一个客户端使用多个 WCF 服务

我还在学习整个 WCF 的东西,所以请耐心等待。

我拥有的是使用 C# 和 VS 2008 创建的两个自托管服务:
Service # 1 添加两个数字并返回结果。
服务 #2 返回数字的平方。

我希望客户端能够将两个数字发送到服务 1,得到总和,然后将总和发送到服务 2 并得到平方。

我为这两个服务生成了两个代理,并且我可以在它们上使用 Intellisense,所以这部分应该可以工作。

现在如何配置我的 app.config 文件,以便我可以与这两个服务进行通信?现在,每次我尝试这样做时都会遇到异常。

[如果我一次只有一个应用程序文件中的配置,客户端可以正常工作,并尝试只调用该服务器。]

我想这是一个非常愚蠢的问题,答案可能是“以_____方式构造配置文件”,但谷歌似乎根本没有示例/指南。

有人知道怎么做吗?

注意:从一个客户端客户端使用多个 WCF 服务 虽然听起来像重复不是我想要的。

编辑:感谢marc_s,我得到了它的工作

由于这两种服务都在不同的应用程序中运行,我不需要拆分服务器配置文件,但这是我对客户端配置文件所做的:首先使用 SvrUtil.exe 自动生成配置文件,然后以这种方式合并它们:

...

...

0 投票
1 回答
2659 浏览

web-services - WCF 和 gSOAP - 可互操作的代码?

我正在尝试使用 SOAP 1.2 协议编写一个简单的 WCF 服务器 + gSOAP 客户端概念验证应用程序。这是服务器代码:

然后我启动服务并使用以下命令生成代码:

然后我编译以下 C++ 代码:

这会生成错误 8 (SOAP_MUSTUNDERSTAND)。有没有人曾经生成工作 WCF 到 gSOAP 链接?我究竟做错了什么?

0 投票
1 回答
1650 浏览

wcf - 每个经过身份验证的 WCF 客户端连接是否都需要 CAL?

就像标题所说的那样。您开发的与 WCF 服务器的每个经过身份验证的 WCF 客户端连接是否都需要 Windows CAL?

http://www.microsoft.com/windowsserver2008/en/us/client-licensing.aspx

微软在该页面上的许可确实让它听起来很像,但我找不到任何可以证实甚至否认这一点的东西。

有人知道吗?