public WsApplication(object application, bool initializeEvents = true) { _application = (Application) application; if (initializeEvents) { ApplicationEvents = _application; ApplicationEvents.MAPILogonComplete += OnMapiLogonComplete; } }
public void Dispose() { if (ApplicationEvents != null) { ApplicationEvents.MAPILogonComplete -= OnMapiLogonComplete; ApplicationEvents = null; } if (_wsSession != null) { _wsSession.Dispose(); _wsSession = null; } if (_application != null) { Marshal.ReleaseComObject(_application); _application = null; } }