如果问题不连贯,请原谅我。
我发现WCF真的很复杂。此外,做同样事情的不同方法使初学者更加困惑,例如硬编码主机vs配置文件,或硬编码客户端vs添加服务引用。 (我感觉对不对?) 我认为尝试以原始方式使用代码完成整个过程会很有帮助。没有服务参考,没有配置文件。
也许我可以这样说:如果服务在另一台机器上运行(或者我的机器假装另一台机器),除了某个地址之外,它必须提供哪些最小的东西才能使用它? 我怎样才能用代码消费它?
答案 0 :(得分:3)
添加服务引用解析服务的WSDL,以将服务契约以及可能任何引用的域类型导入客户端的表示形式(在本例中为C#)。它生成一个代理,公开一个代表服务合同的C#接口。代理是一个名称空间和一组类,其中包含调用特定端点的每个服务方法的方法。
简而言之,它需要服务合同元数据并将其归结为C#。
您也可以使用'svcutil.exe'
手动生成代理svcutil http://server.com/FooService/FooService.svc /out:FooProxy.cs
或者包括app.config的生成
svcutil http://server.com/FooService /out:FooProxy.cs /config:App.config
Visual Studio“添加服务引用”为您完成此操作,并将新文件添加到您的项目中。