我从MSDN开始遵循本指南来托管一个简单的WCF服务。
但客户端使用它的正确方法是什么?
答案 0 :(得分:4)
最常用的选项是:
svcutil
。这意味着它是为您自动生成的,因此它非常易于使用,并且主要用于服务的客户端在系统外部。但是因为它生成了代码,所以你失去了一些控制权。答案 1 :(得分:3)
您可以在MSDN上继续学习。
有几种选择:
注意:前两个选项需要已经运行服务。
答案 2 :(得分:1)
我个人更喜欢通过创建ChannelFactory<T>
然后创建与之通信的频道来使用WCF服务。
示例:
ChannelFactory<IProcessor> factory = null;
try
{
var netTcpBinding = new NetTcpBinding("netTcpBinding_BigPackets");
factory = new ChannelFactory<IProcessor>(netTcpBinding);
var processor = factory.CreateChannel(processorAddress);
var result = processor.Process(request);
return result;
}
catch (CommunicationException)
{
if (factory != null)
{
factory.Abort();
factory = null;
}
throw;
}
finally
{
if (factory != null)
{
factory.Close();
}
}
可以在MSDN中找到很好的示例:http://msdn.microsoft.com/library/ms576132.aspx
另外,我建议您从IDesign页面引用WCF样本:http://idesign.net/Downloads
答案 3 :(得分:1)
向客户项目添加服务参考,然后选择解决方案中的发现/服务。然后选择您的服务,您将能够通过编写此类代码来访问所有服务方法:
using(var myClient = new YourServiceReference.YourService())
{
myClient.MyMethod()...
}
答案 4 :(得分:0)
以下是关于WCF服务http://wcfbyexample.codeplex.com/
的使用的很好的示例答案 5 :(得分:0)
您可以通过从中提取WCF XML或使用WCF测试客户端使用C#代码来使用它。转到Visual Studio并添加&#34;服务参考&#34;使用WCF URL添加服务,它将为您生成服务代码。