Ok, the title of this post is pure jargon, but it fits. This WSE 3 thing is still new to me and I’m still trying to grok some of the finer details. The ability to run a .NET web server over TCP without involving IIS has caught me eye. Thanks to Indy, I’ve been doing stand alone web services with Delphi for a couple of years, an equivalent functionality in .NET may make some things easier to migrate. Having a stand alone web service allows you to do interesting things with persistent data structures and you no longer have to worry about IIS flushing your service out of memory.
But is a .NET web service thread safe when it’s not running inside IIS? If 10 clients call the same method at the same time, are threads spawned to handle each request, are they just queued up, or does it just collapse like a house of cards? Googling for clues turned up very little (for once). I did come across a posting from Mark Fussell, the WSE Program Manager at Microsoft, where he states that it’s not thread safe but I may be reading that in the wrong context. On a side note, do the web service endpoints in SQL Server 2005 have the same limitation?
When I get some time, I’ll build a simple WSE 3 based web service and and blast it from multiple targets and see what happens. Between Ethereal and log4net, I should get some metrics out of it.