title: Autofac : Questions about OnActivating and OnActivated
body: <p>I have just started looking into using Autofac, and came across the Lifetime events <code>OnActivating</code> and <code>OnActivated</code>. </p>
  
  <p>Now, I have read the Autofac documentation <a href="https://autofaccn.readthedocs.io/en/latest/lifetime/events.html?highlight=onActivated#onactivating" rel="nofollow noreferrer">HERE</a></p>
  
  <p>but it raises some questions on the difference between the two and their use.</p>
  
  <p>Confusing points are:</p>
  
  <ol>
  <li><p>The above docs say <code>OnActivated</code> is raised "once a component is fully constructed". So, to me that implies for <code>OnActivating</code> the component is NOT fully constructed, otherwise why bother mentioning it just for this event. If that is to be believed then how come you can change properties, and call methods on the instance (via the IActivatingEventArgs.Instance property)  if it is not ready?</p></li>
  <li><p>The docs say for <code>OnActivating</code> that it is "raised before the component is used". Does "used" mean before any Resolve method passes the component out to client code?</p></li>
  <li><p>Is the <code>OnActivated</code> event also raised BEFORE the component is "used"? The docs say nothing on this, but choose to mention it for the <code>OnActivating</code> event.</p></li>
  </ol>
  
  <p>Would someone give a better account of when to use each event?</p>