title: Does Ninject deactivate transitive dependencies when the underlying one deactivated?
body: <p>I got the <code>IUnitOfWork</code> interface (with its implementation which I wont show you):</p>
  
  <pre><code>public interface IUnitOfWork : IDisposable
  {
      ...
  }
  </code></pre>
  
  <p>Note the <code>IDisposable</code> inheritance. Also, I got the service with the appropriate implementation:</p>
  
  <pre><code>public interface IBusinessLogicService
  {
      ...
  }
  
  public sealed class BusinessLogicService : IBusinessLogicService
  {
      // Dependency is auto-injected by ninject
      // because of the custom injection heuristic.
      public IUnitOfWork UnitOfWork { get; set; }
  
      ...
  }
  </code></pre>
  
  <p>There we go the ninject binding:</p>
  
  <pre><code>kernel.Bind&lt;IUnitOfWork&gt;().To&lt;UnitOfWork&gt;().InRequestScope();
  kernel.Bind&lt;IBusinessLogicService&gt;().To&lt;BusinessLogicService&gt;();
  </code></pre>
  
  <p>As you can see, ninject will automatically deactivate the <code>IUnitOfWork</code> instance at the end of the request and also dispose it.</p>
  
  <p>Now, the question,<br>
  will the ninject <strong>also deactivate</strong> (and reactivate on the next web request) the instances (like <code>IBusinessLogicService</code>) that <strong>are dependent</strong> on the deactivating object?</p>