If you're unfamiliar with the Microsoft environment then don't expect to learn things quickly, since running a web site/service is far more complex than most people think. That is, if you want to run a secure environment.
First of all, I do wonder why you're moving to C# and IIS. Apache runs perfectly on Windows too, and it wouldn't surprise me if you can get everything running in the same way on a Windows system.
But if you do want to move towards C# and Windows development, start by reading some technical books first! O'Reilly has some excellent books about C# and .NET, including titles like "Learning WCF", "Programming Entity Framework" and "Programming ASP.NET 3.5" which should provide enough information for moving to .NET.
However, it will be different from what you're used to. The design patterns are similar, the names and techniques do differ though.
I'm not a Java guy, though. So I don't know what it is you want to do here...
Looking at your comment and desires, it seems that what you're building is a
messagequeue system, where requests are sent to a queue on the server, waiting to be resolved. Windows has some good build-in functionality for that, although it might not be exactly what you're looking for. Still, the principle would be simple: the web interface will add requests to the queue and a Windows service (not a WEB service) will query the message queue for new requests to process these. It makes porting your code from Java to C# a lot less trivial, though!
About the equivalent of servlets in ASP.NET, I think gimel is partly right. An HTTP handler will allow you to generate any kind of response, including non-html pages. I've used them in the past to return data in XML or Excel format to the user. I've also used them to generate dynamic images with additional watermark. But a data service (.svc) might also be a good alternative. (I use one as a RESTful service around an Entity model.) Or just a regular web service(.asmx) could be as practical.
.NET and Java aren't easy to compare at this level. Each has a lot of it's own techniques to handle things. I'd almost think the equivalent of servlets is ASP.NET itself, not a subpart.