1

1)我知道当我们想使用现有的 WCF 服务时,WSDL 文件是在客户端生成的。这是在我们使用 Visual Studio 中的“添加服务引用...”选项的情况下。我不明白的是 - 当我们使用客户端代理调用 WCF 服务时,究竟在什么时候使用了 WSDL 文件?

2)在创建WCF服务的过程中,不知道如何使用或连接或附加内存中存在的WSDL。我的意思是我应该写什么?就像是:

Uri mexAddress = new Uri("http://localhost:2240/Service1.svc?wsdl");

或者:

Uri mexAddress = new Uri("http://localhost:2240/Service1.svc?" + SomeName.wsdl);

或者:

?

先感谢您。

戈兰

4

2 回答 2

1

1)我知道当我们想使用现有的 WCF 服务时,WSDL 文件是在客户端生成的。这是在我们使用 Visual Studio 中的“添加服务引用...”选项的情况下。我不明白的是 - 当我们使用客户端代理调用 WCF 服务时,究竟在什么时候使用了 WSDL 文件?

不,wsdl 是在服务器端生成的。它是描述服务的基于 XML 的文档。它指定服务的位置以及服务公开的操作或方法。添加服务引用时,Visual Studio(或 svcutil)保存此 wsdl 的副本,仅用于生成客户端代理。wsdl 在那一代之后将永远不会被使用,并且不会嵌入到资源中。您还可以创建没有 wsdl 的客户端代理。

2)在创建WCF服务的过程中,不知道如何使用或连接或附加内存中存在的WSDL。我的意思是我应该写什么?

不清楚。你是什​​么意思 ?在服务器端,当您激活 metadata 的 expostion 时,WCF 将自动管理 WSDL 创建(它也是可扩展的)。

于 2012-10-04T07:50:38.877 回答
0

运行时客户端不使用 WSDL 来调用服务。它仅在设计时用于生成客户端代理代码以调用服务。

于 2012-10-04T09:51:48.590 回答