0
私は準備されたtopshelf.ThisプロジェクトとWindowsサービスを持っている要求XMLのデータを送信するXMLデータリストオブジェクトを直列化し、これらのオブジェクトはSQLからの情報を更新します。ときに約8メガバイト約1.8ギガバイトのメモリが範囲外の例外を増加した後にサービスを開始する。なぜ?TopShelf Windowsサービスのメモリリーク時にSQLからの情報を更新
public class HostService
{
private readonly Timer _updaterThread;
private readonly object _lockObject;
private readonly Manager _manager;
public HostService()
{
_manager = new Manager();
_lockObject = new object();
var interval = Convert.ToInt32(ConfigurationManager.AppSettings["UpdateInterval"]);
_updaterThread = new Timer(interval) { AutoReset = true };
_updaterThread.Elapsed += UpdateInfo;
}
public void Start()
{
try
{
LoadLogger();
_updaterThread.Start();
}
catch (Exception e)
{
FXEventLogger.Instance().AddLog(EventLogEntryType.Error, e);
}
}
private void UpdateInfo(object state, EventArgs ev)
{
lock (_lockObject)
{
_manager.UpdateFmdProductions();
}
}
public void Stop()
{
try
{
_updaterThread.Stop();
FXEventLogger.Instance().AddLog(EventLogEntryType.SuccessAudit, "Service stopped");
FXEventLogger.Finalize();
}
catch (Exception e)
{
FXEventLogger.Instance().AddLog(EventLogEntryType.Error, e);
}
}
てください、ショー「UpdateFmdProductions (); " – KreminT
UpdateFmdProductionsには、次の2つのメソッド呼び出しがあります。 –