在Windows Phone 8中以编程方式使用WCF服务
本文关键字:方式使 WCF 服务 编程 Windows Phone | 更新日期: 2023-09-27 18:02:12
我希望能够在我的Windows Phone 8应用程序中使用WCF服务端点。
在谷歌上搜索只显示我必须右键单击WP8项目,选择"添加服务引用"…这对我来说不是一个可行的解决方案。
-
我希望能够在我的Windows Phone 8应用程序中使用WCF服务,编程。
-
我在哪里定义我的客户端端点证书在Windows Phone 8应用程序?
想象一下,我想做一个Windows Phone 8应用程序,它应该能够连接到托管在另一个设备上的WCF服务,即一台计算机。然后,WP用户需要输入该计算机的主机名,以便能够连接到WCF服务。
我建议你使用"Add Service Reference"来生成代理类。DTO和客户机代理将自动生成。您将受益于生产力、类型安全性和名称检查方面的巨大提升。
然后可以在运行时使用适当的构造函数指定url。例如:
private MyServiceClient GetMyServiceClient(string url)
{
Uri uri = new Uri(url);
BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.None);
EndpointAddress address = new EndpointAddress(uri);
MyServiceClient client = new MyServiceClient(binding, address);
return client;
}
(MySericeClient是生成的代理)
。Config stuff是可选的,你可以删除它
当您添加服务引用时,您的WP8项目将自动生成包装WCF服务的代理类。然后你的代码使用这个代理类。
另一种方法是手动创建代理类,相信我,如果可以的话,您希望避免这种情况。- 由Add Service Reference生成的代理客户端类只有在使用其无参数构造函数时才会使用config中的主机名(端点地址)。当然你可以在运行时手动指定端点地址。
- 您可以创建服务契约可移植类库并在客户端和服务器端之间共享。然后你不必生成代理类,但你可以使用ChannelFactory API: http://www.c-sharpcorner.com/UploadFile/ff2f08/channel-factory-in-wcf/