public override void Dispose() { string exceptionMessage = null; try { _webCache.Dispose(); } catch (Exception e) { exceptionMessage = e.Message; throw; } finally { try { if (_debugConfigurations.IsInLoggingInterval()) { APILogItem logItem = new APILogItem(); logItem.Signature = "Dispose()"; logItem.ExceptionMessage = exceptionMessage; _apiLogger.Log(logItem); } _apiLogger.Dispose(); } catch (Exception) { } } }