【发布时间】:2013-10-04 13:44:10
【问题描述】:
我正在实现一个使用 Web 服务检索数据的 Web 应用程序。什么是最佳做法;
- 将 Web 服务代理创建为单例一次,并将其用于所有 来电
- 每次完成网络服务调用时,使用
using(var p = new Proxy())创建代理
我注意到使用第二个选项时,每次第一次调用需要 +- 500 毫秒,而使用此客户端的下一次调用需要 +- 180 毫秒。
【问题讨论】:
-
我会说代理作为单例更好,就像每次调用完成时都创建代理。
-
有什么理由不应该使用单例代理吗?
-
可扩展性;单例维护可能导致可伸缩性问题的状态,而每次调用则不会。访问管理;单例代理在多线程环境中使用时可能会导致问题,而每次调用则不会。
标签: c# web-services proxy singleton client