这里是新手。不确定如何提问,更不用说正确使用正确的术语了。这是我第一次使用服务器、Web 服务和 WCF。我在 VB.net 中完成这一切。
我的任务是对服务器进行编程,以接收来自客户端的短信响应。客户端提供了一个asmx web服务(我认为)。
我有一台正在运行的服务器,用 WCF 实现,我认为它已正确设置并等待它收到某种消息,但它从未收到。
然后我开始做更多研究,发现 WCF 有一些遗留代码可以让您使用 Web 服务(我相信是 httpbinding)。
我该如何准确地实现这个?
最佳答案
目前还不清楚您现在想要实现什么目标,但我将尽我所能来帮助指导您弄清楚您想要实现什么目标。
调用第三方端点
如果您只是尝试使用第三方 Web 服务,那么您可以使用 svcutil(或 Visual Studio 中的添加服务引用)来生成代理类以连接到第三方。 WSDL.exe 自 .NET Framework 1.1 以来就已存在,而 svcutil.exe 则在 .NET 3.5 中出现。两者之间的主要区别在于 svcutil.exe 支持 wsdl.exe 无法支持的功能(例如 WS-RM)。
如果最终目标只是使用第三方服务,那么 svcutil.exe 或使用 Visual Studio 中的“添加服务引用”选项将完成您需要它执行的所有操作。它使用作为 WCF 一部分创建的类这一事实并不重要。
定义第三方调用的端点
如果第三方需要向您发送数据,并且数据需要实时发送(而不是批量),那么如果您使用 .NET 语言进行编程(您可以还使用 ASMX 服务,创建 http 处理程序等)。如果这是实际需求,那么他们提供的 WSDL 可能是他们希望您创建的端点(他们想要使用的合约)的规范。这是此时可能采取的步骤的示例:
- 根据提供的 WSDL 创建服务契约(Contract)。
- 创建一个类来实现第 1 步中的合约。
- 使用适当的测试数据自行部署和测试服务。
- 测试您是否可以通过外部互联网连接使用端点(1)(2)
- 让客户知道端点已准备好进行测试。
希望这能让您对应该考虑什么以及下一步要做什么有一个高层次的概述。
(1)如果是您组织内部的客户端,则测试只需来自您的内部网络
(2)如果客户端在您的组织外部,您将需要研究 WCF 安全性。您不希望任何人都能到达您的端点。
关于asp.net - WCF 使用 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11820316/