In this chapter you learned the basics of creating an ISAPI service. You also learned how you can use the service from your application. ATL Server provides a number of ISAPI services that you can use out of the box, and caches, session state, and Perfmon services are available to you from the ATL Server Project Wizard. All of these classes allow for easy exposure via ISAPI services.
ISAPI services provide an easy way to expose functionality to your entire application. They also allow you to maintain global state, and theyre perfect for managing data that must survive the lifetime of the process.
Its important to remember, however, that changes to your ISAPI service will require that you reset IIS, so you should try to ensure that code exposed via ISAPI services isnt subject to constant change.
If a service you want to expose will require a lot of changes, you may want to consider exposing this functionality via a Windows Service instead. Theres a sample that shows you how to do this included in the Visual C++ .NET product, under the ATL Server directory called PerfPersist.
So far weve concentrated on some of the core components that make up an ATL Server application. In the next chapter we examine the architecture of an ATL Server application as a whole at a high level.