问题标签 [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 投票
1 回答
543 浏览

gac - WCF 客户端 DLL Internet 传递问题

我们正在创建一个带有配套客户端 DLL (.Net) 的 WCF 服务,我们将通过网页将其交付给用户的 GAC。DLL 知道如何与服务通信以及如何与服务交互,并将允许网页通过客户端 Javascript 调用与 WCF 服务通信。用户的机器将执行 DLL 的功能,而不是服务器。有了它,数据将被传输到目标服务器。

这在我们的内部网络上在理论上(和实践)有效。当然,该网络位于受信任区域中,因此在交付、GAC 安装和 DLL 实用程序方面没有问题。客户端-服务器对按预期工作。我们可以下载带有对象标签的 .Net DLL,将其安装在 GAC 中并轻松使用。

为了让互联网用户能够下载客户端 .Net DLL,但是需要实施一些安全程序。我们还没有专业知识来确切地知道它们是什么,但我们知道我们至少需要使用受信任的证书对 DLL 进行签名。除此之外,我们不确定。

那么问题是我们从这里做什么?

0 投票
1 回答
3535 浏览

c# - 通过反射使用 .net wcf 休息服务

如果可能的话,我正在尝试通过反射来使用 wcf 休息服务。看看下面的代码:

如您所见,这是一个在运行时需要 T 的通用方法...我的麻烦是,我不确定我是否真的可以反映我在上面创建的通道对象...。假设我可以,那么麻烦当我想创建一个对象实例时开始......因为我无法从接口创建一个对象实例......

我也很高兴听到是否有其他方法可以做到这一点?但如果可以的话,我更喜欢使用通道机制。

0 投票
2 回答
6667 浏览

xsd - 在 wsdl 上使用 SvcUtil.exe 生成代理类时出错 - xs:group 元素

我正在尝试对 wsdl 文件使用 SvcUtil 来生成代理类,但是我遇到了一个元素丢失错误,我认为该错误与架构组元素有关。有谁知道 svcutil 是否可以处理的事实?如果是这样,它将处理具有指向另一个模式文件中的组定义的 ref 属性的 xs:group 元素吗?

SvcUtil.exe 命令(也包括 xsd 文件的路径):

错误是:

错误:无法导入 wsdl:portType 详细信息:运行 WSDL 导入扩展时引发异常:System.ServiceModel.Description.XmlSerializerMessageContractImporter 错误:缺少组 InfrastructureRootElements。错误源的 XPath://wsdl:definitions[@targetNamespace='urn:ihe:qrph:rpe:2009']/wsdl:portType[@name='ProtocolStateManager']

协议状态管理器.wsdl:

RPE.xsd(由 ProtocolStateManager.wsdl 引用):

来自 PORT_MT100001UV.xsd 的片段(由 RPE.xsd 引用) - 注意“InfrastructureRootElements”xs:group:

InfrastructureRoot.xsd(由 PORT_MT100001UV.xsd 引用)请注意此处的 InfrastructureRootElements 组的定义 - 这是上述架构中具有 ref 属性的同一组:

0 投票
3 回答
20561 浏览

wcf-client - 以编程方式创建 WCF 客户端

我有一个支持 Silverlight 的 WCF 服务的网站。该服务运行良好,我可以毫无问题地在浏览器中浏览到 WSDL 页面。

现在,我正在尝试在 DLL 中创建客户端。不过,我需要以编程方式创建整个客户端,因为它是在 DLL 中调用的,无论出于何种原因(通过设计?),它都不会从自己的配置文件中读取 ServiceModel 部分。

所以这是我的代码:

但是当我调用 svc.CheckIt 方法时,出现以下错误:

如何正确创建我的客户,以便这些正确“匹配”?
提前致谢!!!

0 投票
2 回答
3336 浏览

wcf - 可以为多个 WCF 服务合同添加一个服务参考

我在一个 WCF 库中定义了多个服务合同,这些合同托管在 Windows 服务下。这些服务在 Windows 服务配置文件中公开如下:

现在,当我在客户端应用程序中添加服务引用时,

是否可以为上述两项服务仅添加一项服务参考或

我需要为每个服务/服务合同单独引用。

更新:

以下是我的申请详情:

我有三个不同的项目:

  1. WCF 服务库
  2. 用于在 WCF 服务之上托管的 Windows 服务
  3. 客户端 - 用于测试的控制台应用程序

现在,WCF 服务库中的 App.Config 如下:

Windows Service 中的 App.Config 同上。

现在在我的客户端应用程序中,我需要使用来自 TemplateService 和 TemplateReportService 的方法。

所以,我总是可以使用两个不同的服务参考:

http://localhost:8080/ReportingComponentLibrary/TemplateService/

http://localhost:8080/ReportingComponentLibrary/TemplateReportService/

这一切都很好。

但是我想知道是否有任何方法(除了您建议的包装解决方法)我只需要添加一个引用,并且我可以从这两个服务中调用方法。

0 投票
2 回答
126 浏览

wcf - 如何确保机器名称有效且正在运行?

我在内网上的多台机器上部署了一个 wcf 服务。用户可以通过 SSL(客户端网络的安全连接)连接机器,通过 Internet 访问机器。

用户有一个客户端应用程序来使用部署在客户端网络上的多台机器上的 Web 服务。

我从客户端获取机器名称并动态创建 url 以在客户端应用程序中创建 Web 服务的客户端,如下所示:

https:// machine_name //test/testservice.svc

检查客户端尝试连接的机器是否有效并且正在运行(启动)的最佳方法是什么?

当超时过期时可能会有多个条件,例如网络延迟是其中一个原因..

0 投票
3 回答
1845 浏览

wcf - 是否可以破解 WCF 客户端以在不使用 SSL 的情况下传递消息凭据?

不久前,我编写了一个自定义 WCF 绑定,以允许我的负载平衡场通过 IIS 托管服务。自定义绑定的原因是每个服务器都没有 SSL,但需要能够接受用户名 + 密码的客户端凭据。此场前面的代理具有 SSL,因此流量将在防火墙外加密。此自定义绑定工作正常,但现在我需要在本地查看来自我的机器的流量,并希望在不使用 SSL 的情况下执行此操作。

问题是这样的——在.net客户端上,如果我设置我的安全模式=“TransportWithMessageCredential”我必须有SSL,否则我会得到有趣的错误“无效的方案,预期的https”

是否可以为客户端编写一些自定义内容以“忽略”缺少 SSL 但仍然让我通过 SOAP 标头传递用户名 + 密码?

0 投票
0 回答
1043 浏览

wcf-security - 如何正确使用 WCF 中的 DisplayInitializationUI 提示用户提供凭据以在不同域中进行身份验证和使用 Web 服务?

我有一个连接到一组 WCF Web 服务的 WPF 客户端。我们有一个 Dev、Test、Volume 和 Production 域,每个域的服务器上都有可用的服务。域没有信任关系。

目标是让客户端连接任何其他域的服务。如果客户端和服务器在同一个域中,则应发送默认网络凭据以进行身份​​验证/授权。如果服务器位于不同的域中,那么它应该向用户询问凭据,这与 Internet Explorer 在访问具有集成安全集的不同域中的站点时所做的方式非常相似。

目前,我正在尝试通过在为我的服务创建 ClientBase 实例时设置 DisplayInitializationUI() 来获取客户端凭据。

ClientCredentialsEx 类。

ShowCredentialUI 类实现 IInteractiveChannelInitializer。类的业务端是BeginDisplayInitializationUI方法;

问题是当我调查 iis 日志时,从未发送过凭据。我怀疑我遗漏了一些重要的东西。有没有人成功实施过类似的场景?有没有更简单的方法来实现这一点?

谢谢阅读!

0 投票
1 回答
18179 浏览

wcf-client - 没有端点监听可以接受该消息。这通常是由不正确的地址或 SOAP 操作引起的

我有两个使用 3rd 方 Web 服务的 WCF 客户端。

这两个客户端执行相同的方法调用。在一种情况下,它每次都有效,在另一种情况下,我收到“没有端点监听......”消息。

据我所知,这两个调用之间的唯一区别是它们位于两个不同的客户端 exe 中,这意味着 .exe.config 文件不一样。它们使用相同的源代码,在 Visual Studio 中的两个项目之间共享,因此没有什么不同。

但实际上这两个 exe.config 文件的内容(几乎)完全一样;唯一的区别是失败调用的 exe.config 具有更大的绑定元素的 maxBufferSize 和 maxReceivedMessageSize 属性值,以及更大的 sendTimeout 值。

0 投票
3 回答
3518 浏览

wcf - Silverlight 3 中 WCF 服务客户端代理的正确生命周期是什么?

我在网上找到了对我的问题的混合答案。详细说明这个问题:

  1. 我应该为每个异步调用实例化一次服务客户端代理,还是每个 Silverlight 应用程序一次?
  2. 我是否应该显式关闭服务客户端代理(就像在我的 ASP.NET MVC 应用程序中同步调用 WCF 服务一样)?

我发现很多博主和论坛海报相互矛盾。谁能指出任何明确的来源或证据来一劳永逸地回答这个问题?