There are different types of Hosting can be done.
windows process activation services (WAS)
IIS
Self hosting
Hosting in a Windows service
is there advantage of using one over another? which one is preferable?
This and this can help. But basically:
1) IIS now using WAS
2) IIS hosting. Pros: generally no hosting code required, easy to maintain, IIS infrastructure (security, sessions, site integration etc). Cons: 'passive' services, require IIS.
3) Self hosting. Pros: easy debugging. Cons: no infrastructure, req. custom hosting code, interactive usage (generally speaking).
4) Hosting in a Windows service. Pros: for 'active', long running services, services infrastructure (start/stop/pause, unattended (non interactive) execution, dependencies, mmc etc), relatively easy to manage. Cons: req. custom hosting code, relatively hard to debug (vs IIS hosting).