Я создаю WCF-службу , которая размещается в службе Windows . WCF-служба называется приложением ASP.Net с использованием прокси.
using (WcfServiceRef.MonitorClient proxy = new WcfServiceRef.MonitorClient())
{
//WCF Service proxy
proxy.Open();
proxy.DoSomething();
}
Кроме того, у меня есть класс Singleton DataAdapter , который используется в WCF-сервисе, подобном этому (большую часть времени он просто перенаправляет вызов DataAdapter , чтобы иметь возможность легко изменить реализацию фактического доступа к данным):
DataAdapter.GetInstance().DoSomething();
Мой DataAdapter выглядит так и содержит myData, который должен быть активен:
public static DataAdapter DataAdapterInstance;
private List<CustomObjects> myData;
internal static ServiceAdapter GetInstance()
{
if (DataAdapterInstance == null)
{
DataAdapterInstance = new DataAdapter();
}
return DataAdapterInstance;
}
А вот и то, с чем у меня проблемы: (я не уверен если все, что я здесь пишу, верно)
Когда мой DataAdapter (содержащий все мои данные) "умирает" ... я спрашиваю здесь, каков срок жизни объекта, когда на самом деле на него нет ссылки. (я бы сказал, что он собирается всякий раз, когда запускается сборщик мусора) - Я думаю, что мой подход не слишком хорош, я был бы признателен за любые предложения о том, как хранить мои данные (предпочтительно без использования базы данных или внешнего файла)
Спасибо, что изучили мою проблему!