I am really excited to dive into WCF, it looks like a great set of technologies. However, as I am new to it, I am having trouble figuring out whether or not it might make sense in a scenario I am currently looking at, and I am hoping some of you more familiar with it can help steer me in the right direction.
What I am looking to do is build a client and a server for hosting online real time auctions. Each individual auction will not be that big, maybe 20 to 40 people on average participating in one auction, but at any given time there may be several dozen auctions running at the same time. My initial thoughts for the architecture are that each running auction would have its own object on the server (either in one big process or each in their own process, I'll have to do some performance profiling to know which scales better) that would manage the data for that one auction instance. Then each client would somehow need to communicate back to the server either through one giant listener that would route the messages to the correct server object instance, or each client would have a way to connect directly to the particular server object instance, and each instance would manage its own client pool. That second method sounds easiest to me in terms of programming, but I worry about it's implications for the communications layer.
Obviously, I could write my own messages and use the sockets classes to implement a custom solution, but I would prefer to stick to a standard solution. I actually was considering using DirectPlay from the DirectX libraries since I am not concerned about running on non-Windows clients right now, but then I found out those libraries have been deprecated. So now I am wondering if WCF could work here. The contracts in question would be fairly simple (SubmitBid, NextItem, ChatMessage, etc.), and from the client side it seems perfect. But I am a little worried on the server side. How much has any one scaled up a server Maybe a single server supporting over 1000 clients simultaneously Also, how would I handle the multiple server object issue Could each object define its own address, maybe using different port numbers or something, and each run its own WCF, or am I limited to one end point for a given contract on a given server If so, how hard would the routing issue be to solve
Any thoughts anyone has on this are greatly appreciated. Thanks for your time,
Futzy

Is Indigo a viable choice in this scenario?
Zahid Younas
Mark Sargent
Thanks, that helps quite a bit. I wasn't sure if I could create server side end points like that, but if I can, I'm pretty sure that's the way to go. And as far as licensing goes, I'm not worried about that, I'm still at least a couple of months away from beta myself, I'm sure WCF will be live before I am.