gpt4 book ai didi

c# 如何在客户端管理 wcf 服务代理生命周期?

转载 作者:行者123 更新时间:2023-11-30 13:38:04 25 4
gpt4 key购买 nike

我编写了一个具有一些常规功能(添加用户、删除、搜索、更新...)的 WCF 服务。此功能的实现是在 Entity Framework 中(使用 sql DB)。

现在我想在客户端使用它。我有一些基本问题:

  1. 我在客户端多次调用 WCF 方法 - 我是否应该在每次调用时都 try catch ?
  2. 每次我想调用一个方法,例如 AddUser(User user),我需要创建一个服务实例,如下所示:

    WcfService client = new WcfService();
    client.AddUser(user);

    在另一个地方我写:

    WcfService client = new WcfService(); //Again making a new instance...
    client.UpdateUser(user);

我应该为我的 wcf 服务的所有应用程序创建一个实例吗?或者每次在我调用方法之前创建一个新实例? (如我上面的例子)。

非常感谢!

最佳答案

在许多情况下,您希望重复使用相同的客户端代理,因为这种连接方法会产生最佳性能。如果您使用具有高初始安全协商成本的安全功能,那么重复使用相同的代理会特别有益。注意:您肯定需要在使用前检查客户端代理的状态。

如果无法重复使用相同的客户端代理,则考虑使用使用缓存的 ChannelFactory 代理。

以下链接提供了很好的解释以及最佳实践建议: http://blogs.msdn.com/b/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.aspx

关于c# 如何在客户端管理 wcf 服务代理生命周期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18960145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com