C#Web服务代理类的多个实例,还是应该将它们作为ref传递?

时间:2009-11-02 21:07:23

标签: c# service

对于每个类,我创建一个Web服务代理的新实例。

主要表格:

services services = new services();
services.doStuff();

主表单中的新表单/窗口:

services services = new services();
services.doStuff();

我应该从主GUI 传递第一个实例吗?或甚至是重要的......

frmWindow window = new frmWindow(services);

3 个答案:

答案 0 :(得分:1)

取决于你。

如果我需要该Web代理或任何只有一个实例的东西,则需要提供一个全局作为singleton对象的实例的访问点。

答案 1 :(得分:1)

服务代理对象对于asmx和WCF都非常便宜(你没有指定你正在使用哪一个) - 只需在需要时创建它们并扔掉它们。最昂贵的部分是建立与目标服务器的网络连接,目标服务器通常是池化和缓存的。不要自杀缓存和传递代理 - 这是一个微型优化,很少值得复杂。

答案 2 :(得分:0)

这完全取决于你班级的设计。拥有多个“服务”对象是否有意义?

此外,您的“服务”类的对象是否很难创建和维护?我认为我们需要更多信息来为您提供有用的答案。