Hi,
we use different ways ;-)
It depends on the VS design.
If it is a simple VS with one pool, we use a default pool in the VS and in the class is only the security enabled. Thats it.
If u use oneconnect, it is recommended (by f5) to use a default pool, too.
If it is a VS with multiple pools, we don't use a default pool in VS. Then, we select the pool in the class.
With a normal design, the traffic goes through irule first and after that through the ASM.
It isn't necessary to use ASM::enable, except you are using ASM::disable, too.
regards