What is the best technology or technique to create server-side code in .NET that that can be changed while it is running?
You get this functionality for free when you use web services because of the stateless model, but I am building a client/server architecture where the clients are connected for the lifetime of their sessions over TCP.
How can I implement changes without disconnecting users and restarting my server? Obviously the connection management code and the API will not change otherwise that would break things very quickly.
Is it using MEF? Some kind of shadow-copy? I would prefer to NOT use message queuing and multiple processes.
Server-side public API
Server-side internal