Dynamic Proxy based interception that is used by IoC containers requires either virtual methods or that you inject interfaces instead of classes so that the proxy can opverride the methods.
If you want to do AOP on none virtual methods you have to use a code weaving AOP approach like PostSharp.