Jak napisać usługę WCF z pamięcią trwałą w pamięci?
Napisałem usługę WCF, ale dane przechowywane w implementacji usługi nie utrzymują się między wywołaniami, nawet jeśli są przechowywane w zmiennej statycznej. Co mogę zrobić?
Implementacja usługi jest następująca:
public class Storage : IStorage
{
protected static object[] _data;
#region IStorage Members
public void Insert(object[] data)
{
lock (_data)
{
_data = _data.Concat(data).ToArray();
}
}
public object[] SelectAll()
{
lock (_data)
{
return (object[])_data.Clone();
}
}
#endregion
}
Host usług to aplikacja konsoli:
static void Main(string[] args)
{
ServiceHost serviceHost =
new ServiceHost(typeof(TimeSpanStorage));
serviceHost.Open();
Console.WriteLine("Service running. Please 'Enter' to exit...");
Console.ReadLine();
}