public void Dispose() { if (_blogCredentials != null) { _blogCredentials.Dispose(); _blogCredentials = null; } if (_fileUploadSettings != null) { _fileUploadSettings.Dispose(); _fileUploadSettings = null; } if (_atomPublishingProtocolSettings != null) { _atomPublishingProtocolSettings.Dispose(); _atomPublishingProtocolSettings = null; } if (_settings != null) { _settings.Dispose(); _settings = null; } // This block is unsafe because it's easy for a persister // to be disposed while it's still being used on another // thread. // if (_keywordPersister.ContainsKey(KeywordPath)) // { // _keywordPersister[KeywordPath].Dispose(); // _keywordPersister.Remove(KeywordPath); // } GC.SuppressFinalize(this); }