2012-05-13 40 views
0

我不知道wcf,但很快我必须学习它。所以我通过一些在线教程&小样本代码。所以一些问题已经进入我的脑海,如关于wcf属性和客户端/服务器通信

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

2)为什么服务接口需要用像服务契约这样的属性来装饰? 3)为什么所有的接口方法签名都必须用操作契约进行修饰。

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

5)什么是数据契约?当一种方法应该用像数据契约这样的属性来装饰时。

6)我熟悉web服务。我看到Web服务与任何端口都没有关系,但wcf总是与端口相关....为什么?

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

如果可能请在这里详细讨论我的观点。谢谢

回答

0

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

你分1〜5,都是想告诉WCF什么是要转移,使WCF能够连载一侧的信息,并deserialise它,另一方面,

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

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

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

+0

我在这里问了很多东西,并且巧妙地避免给出详细答案。 u事件没有说服务合同,运营合同和数据合同是什么。如果你能详细讨论所有问题,那将是非常好的。 – Thomas