【问题标题】:How to create a client proxy in WCF with the right command?如何使用正确的命令在 WCF 中创建客户端代理?
【发布时间】:2017-06-13 06:55:21
【问题描述】:

与 doc https://docs.microsoft.com/en-us/dotnet/framework/wcf/how-to-create-a-wcf-client 中的最后一条命令不同,该程序提示我使用 'svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service?wsdl' 来生成客户端代理代码和当我完全按照教程操作时的配置文件。

所以我有两个问题。

  1. 基地址是否必须以“http://”开头?就像https://docs.microsoft.com/en-us/dotnet/framework/wcf/how-to-host-and-run-a-basic-wcf-service 中显示的一样。如果我不使用 http 绑定,我可以使用其他类型的基地址吗?

  2. 如果#1 的答案是肯定的,那么命令是什么?最好能举个例子。

【问题讨论】:

  • 如果您有任何其他问题,请添加我的答案:)

标签: c# .net wcf


【解决方案1】:

是的,基地址必须以 httphttps 开头,因为它需要托管在网络服务器(如 IIS)上。如果您已经这样做了,您需要通过以下方式为您的项目创建一个服务引用:右键单击“连接的服务”-> 添加“服务引用”,然后输入您的地址选择您的 .svc 文件--> 选择一个名称(例如 ServiceRef ) 然后点击确定..

然后添加您的代理以执行服务中的方法,例如:

ServiceRef.ServiceRefClient proxy = new ServiceRef.ServiceRefClient();
bool testresult = proxy.TestConnection();

【讨论】:

  • 感谢您的快速回答。我还有一个问题,如果我在端点中使用绝对路径,基地址是否仅用于生成代码和配置文件?
  • 基地址指向您的 WCF,其中包含 Web 服务器的所有方法和配置。这些将通过服务引用添加到您的项目中。
  • 因此,如果您更改和/或向 WCF 添加方法,则需要更新项目中的服务引用(右键单击 ServiceRef --> 更新服务引用)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多