对于每个类,我创建一个Web服务代理的新实例。
主要表格:
services services = new services();
services.doStuff();
主表单中的新表单/窗口:
services services = new services();
services.doStuff();
我应该从主GUI 传递第一个实例吗?或甚至是重要的......
frmWindow window = new frmWindow(services);
答案 0 :(得分:1)
取决于你。
如果我需要该Web代理或任何只有一个实例的东西,则需要提供一个全局作为singleton对象的实例的访问点。
答案 1 :(得分:1)
服务代理对象对于asmx和WCF都非常便宜(你没有指定你正在使用哪一个) - 只需在需要时创建它们并扔掉它们。最昂贵的部分是建立与目标服务器的网络连接,目标服务器通常是池化和缓存的。不要自杀缓存和传递代理 - 这是一个微型优化,很少值得复杂。
答案 2 :(得分:0)
这完全取决于你班级的设计。拥有多个“服务”对象是否有意义?
此外,您的“服务”类的对象是否很难创建和维护?我认为我们需要更多信息来为您提供有用的答案。