Groups | Blog | Home
all groups > dotnet web services > december 2007 >

dotnet web services : Singleton instance of web service?


davebythesea
12/21/2007 8:10:00 AM
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.
davebythesea
12/21/2007 9:00:01 AM
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,
John Saunders [MVP]
12/23/2007 1:18:19 PM
[quoted text, click to view]

In general, I think it would be best to not solve performance problems
before they exist - you might be solving the wrong problem.
--
--------------------------------------------------------------------------------
John Saunders | MVP - Windows Server System - Connected System Developer

AddThis Social Bookmark Button