Мое решение для этого, вероятно, будет удаленным.Я не знаю, если WCF делает это так же.но удаленное взаимодействие можно настроить с помощью текста, а серверы можно настроить для удаленного доступа к объекту по желанию.
Я хочу предупредить вас заранее.Проект, о котором я упоминаю, был создан довольно давно, так что это может быть устаревшая информация (WCF может делать то же самое или нет). Моя компания не требовала от меня никакой работы WCF.)
Я удаленмои объекты от клиента до сервера.Я бы запустил сервер (фактически на отдельной машине), а затем с помощью удаленного взаимодействия tcp все объекты, которые я хотел бы, были бы объявлены в этом приложении.
Теперь вот самое интересное.этот удаленный объект использовал объекты удаленного делегата.Я бы инициализировал объект (удаленный) и сервер создал бы его.Затем я инициализирую другой объект (тип интерфейса) локально и присоединяю его к удаленному объекту.
Когда удаленный объект хочет связаться со мной, он посылает мне сериализуемую информацию, и я создаю ее в виде большего количества объектов иликоманды.Все, что было нужно ... (возможно, больше удаленных объектов)
В любом случае.Один сервер и несколько удаленных объектов будут отправлены туда и обратно вместе с CommonInterface.dll со всеми стандартными объектами интерфейса, определенными в нем.
Для всех намерений и целей это была установка вслепую плагина, которую любое приложение, желающее получить информацию на мой сервер или с него, могло бы реализовать и обработать своими классами, если интерфейсы совпадают.(с сериализуемыми данными команды)
Если плагин (клиент) падает, то приложение (сервер) не должно пострадать.Это просто обернуло бы все коммуникации с этим плагином в зацепку try, и удаленный объект имел бы какое-то время, чтобы жить или пинговать механизм выпуска стиля.
Я действительно не знаю, каким будет ваш сценарий с песочницей, но это может выполнить то, что вы просите.
вот сервер чата удаленного взаимодействия .net.
http://www.codeproject.com/KB/IP/dotnetchatapplication.aspx
Это тот же тип проекта, который я строил в первый раз с удаленным взаимодействием.и я превратил его в архитектуру моего плагина сервера.Разница между моим использованием и вашим заключается в том, что сервер был моим клиентом, был основным приложением, использующим сервер, а ваш сервер будет основным приложением, позволяющим подключаться нескольким клиентам.