/// <summary>
/// Updates the type cache.
/// </summary>
private void DoMetadataUpdate(object state)
{
try
{
if (!Server.IsRunning)
{
return;
}
ComAeClientManager system = (ComAeClientManager)SystemContext.SystemHandle;
ComAeClient client = (ComAeClient)system.SelectClient(SystemContext, true);
AeTypeCache cache = new AeTypeCache();
cache.LoadEventTypes(client);
lock (Lock)
{
if (m_typeCache == null)
{
m_typeCache = cache;
}
m_typeCache.EventTypes = cache.EventTypes;
m_typeCache.UpdateCache(SystemContext, NamespaceIndex);
}
}
catch (Exception e)
{
Utils.Trace(e, "Unexpected error updating event type cache.");
}
}