2017-06-13 62 views
1

与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'生成客户端代理代码和配置文件,当我完全按照教程。如何使用正确的命令在WCF中创建客户端代理?

所以我有两个问题。

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

  2. 如果#1的答案是肯定的,命令是什么?如果你能给我一个例子,那会更好。

+0

加入我的答案,如果您有任何问题,生病帮助:) –

回答

1

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

添加您的代理从服务执行方法,如:

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

感谢您的快速答复。我还有一个问题。如果我在端点中使用绝对路径,基地址仅用于生成代码和配置文件? – kunyang

+0

基地址指向您的WCF,其中包含Web服务器的所有方法和配置。这些将通过服务参考添加到您的项目中。 –

+0

因此,如果您更改和/或向WCF添加方法,则需要更新项目中的服务参考(右键单击ServiceRef - >更新服务参考) –