protected virtual void Dispose(bool disposing) { if (!_disposed) { _disposed = true; if (disposing) { _routes.Dispose(); } } }
protected virtual void Dispose(bool disposing) { if (!_disposed) { _disposed = true; if (disposing) { _routes.Dispose(); DependencyResolver.Dispose(); } } }
protected virtual void Dispose(bool disposing) { if (!_disposed) { _disposed = true; if (disposing) { _routes.Dispose(); Services.Dispose(); DependencyResolver.Dispose(); foreach (IDisposable resource in _resourcesToDispose) { resource.Dispose(); } } } }
public void HttpRouteCollection_Dispose_UniquifiesHandlers() { // Arrange var collection = new HttpRouteCollection(); var handler1 = new Mock <HttpMessageHandler>(); handler1.As <IDisposable>().Setup(c => c.Dispose()).Verifiable(); var handler2 = new Mock <HttpMessageHandler>(); handler2.As <IDisposable>().Setup(c => c.Dispose()).Verifiable(); var route1 = new Mock <IHttpRoute>(); route1.SetupGet(r => r.Handler).Returns(handler1.Object); var route2 = new Mock <IHttpRoute>(); route2.SetupGet(r => r.Handler).Returns(handler1.Object); var route3 = new Mock <IHttpRoute>(); route3.SetupGet(r => r.Handler).Returns(handler2.Object); collection.Add("route1", route1.Object); collection.Add("route2", route2.Object); collection.Add("route3", route3.Object); // Act collection.Dispose(); // Assert handler1.As <IDisposable>().Verify(c => c.Dispose(), Times.Once()); handler2.As <IDisposable>().Verify(c => c.Dispose(), Times.Once()); }