Hi folks,
I'm just curious if it is possible to create a Singleton instance of a Web
Service? Currently I create my web services in VS 2005, and then in my
applications I add the Web Service via 'Add web Reference', which as you know
doubt no is a great and easy mechanism for getting the proxy class etc.. al
nice and quickly added to the project.
However, say in my project I have two forms, and both use the Web reference.
Instantiating an instance of the web service in each form, and using when
needed, and disposing when finished, must cause a bit of a performance hit
(especially in pocket pc). So I was thinking, how can one create a Singleton
instance of the web Service and use it throughout the application? Or is
there some other mechanism to achieve a similar result?
Thanks for any opinions.
Dav
davebythesea - 21 Dec 2007 17:00 GMT
Hi folks,
I was thinking something maybe like this -
class SingletonService
{
private static SingletonService instance;
private static object padlock = new object();
private Mobile.Service.Service webService = new Mobile.Service.Service();
protected SingletonService()
{
}
public bool fLogin(string username, string password)
{
return webService.fLogin(username, password);
}
public static SingletonService Instance
{
get
{
lock (padlock)
{
if (instance == null)
{
instance = new SingletonService();
}
return instance;
}
}
}
}
Any views?
Best,
Dave
John Saunders [MVP] - 23 Dec 2007 18:18 GMT
> Hi folks,
>
[quoted text clipped - 14 lines]
> instance of the web Service and use it throughout the application? Or is
> there some other mechanism to achieve a similar result?
In general, I think it would be best to not solve performance problems
before they exist - you might be solving the wrong problem.

Signature
--------------------------------------------------------------------------------
John Saunders | MVP - Windows Server System - Connected System Developer