关于wcf属性和客户端/服务器通信

时间:2012-05-13 19:22:16

标签: wcf

我不知道wcf,但很快我就要学习它。所以我通过一些在线教程&小样本代码。所以我想到了一些问题,如

1)为什么服务必须有一个接口?

2)为什么服务接口需要用服务契约这样的属性来装饰?

3)为什么所有接口方法签名都必须用操作契约进行修饰。

4)服务合同的含义是什么?经营合同。这些属性实际上是做什么的。

5)什么是数据合同?当一个方法应该用数据契约等属性进行修饰时。

6)我熟悉网络服务。我看到网络服务与任何端口无关,但是wcf总是与端口相关....为什么?

7)当我在控制台应用程序中托管一个小的hello world wcf服务应用程序并在远程计算机上启动时,我的客户端无法连接它。原因可能是端口没有被转发。有一段时间我们可以托管wcf,但是我们无法进入路由器,所以在这种情况下我们无法转发端口。在这种情况下告诉我wcf客户端如何连接到服务器?

8)我们可以在任何远程计算机上托管wcf时以编程方式创建端口并转发它。

如果可能的话,请在此详细讨论我的观点。感谢

1 个答案:

答案 0 :(得分:0)

WCF是一种在客户端和服务器之间传输数据的技术。

你指向1到5,都是为了告诉WCF要传输什么,以便WCF可以在一侧串行化信息并在另一侧反序列化,

对于您的观点6:WCF涵盖了包括Web服务在内的多种技术。默认WCF配置与基本Web服务相同。 Web服务默认使用端口80。

对于您的第7点,要么不暂停控制台应用程序,所以当您尝试连接它时它不会运行。或者您正在使用的端口被防火墙阻止。

在第8点,WCF 4支持路由。