1

我希望能够在我的 Windows Phone 8 应用程序中使用 WCF 服务端点。

在 Google 上搜索只显示我必须右键单击 WP8 项目,选择“添加服务参考”......在我的情况下,这不是一个可行的解决方案。

  • 我希望能够以编程方式在我的 Windows Phone 8 应用程序中使用 WCF服务

  • 在 Windows Phone 8 应用程序中的何处定义我的客户端端点证书?

想象一下,我想制作一个 Windows Phone 8 应用程序,它应该能够连接到托管在另一台设备(即计算机)上的 WCF 服务。然后 WP 用户需要输入该计算机的主机名才能连接到 WCF 服务。

4

3 回答 3

2

我建议您使用“添加服务引用”来生成代理类。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的东西是可选的,你可以删除它。

于 2013-03-04T17:20:42.223 回答
1

当您添加服务引用时,您的 WP8 项目会自动生成包装 WCF 服务的代理类。然后你的代码使用这个代理类。

另一种方法是手动创建代理类,相信我,如果可以的话,你想避免这种情况......

于 2013-03-04T14:27:07.833 回答
0
  1. 仅当您使用其无参数构造函数时,添加服务引用生成的代理客户端类才会使用配置中的主机名(端点地址)。当然,您可以在运行时手动指定端点地址。
  2. 您可以创建服务合同可移植类库并在客户端和服务器之间共享它。然后你不必生成代理类,但你使用 ChannelFactory API:http ://www.c-sharpcorner.com/UploadFile/ff2f08/channel-factory-in-wcf/
于 2015-02-11T22:10:05.630 回答