To what extent does a C# developer have to know about IIS ? Minimum areas / knowledge required ?
It entirely depends on the context. If you're not doing ASP.NET, then you really don't need to know it at all :)
If you're doing ASP.NET but you have system administrators who will work with you to find out your requirements and manage all the worker pools etc, you don't need to know an awful lot. (Although I'd say it's important to understand the basics in terms of AppDomain recycling, sessions, scaling out as well as up.)
If you're going to deploy it yourself, I would look at:
- Worker pools
- Impersonation and permissions (who you're going to run as)
- AppDomain recycling
- Session management
- Load balancing and how it will affect your particular situation
- Other IIS options such as compression
In addition to what Jon Skeet said:
Starting with IIS7 you can do a lot more with modules/handlers written in .NET than was possible before. Therefore it would probably be a good idea to look at the IIS7 architecture and the request processing (I have to say, that I haven't yet looked at these things in detail, but it's on my list).