Вы пропустите черты линий. Вот определение из MSDN. Я выделяю (жирным) некоторые различия между этими объектами.
Single Зов
одного вызова объектов службы один и только один запрос приходя в. Single Объекты вызова полезны в сценариях , где объекты должны выполнять конечное количество работ. Одиночный вызов объектов, как правило, не требуется, чтобы хранит информацию о состоянии, и они не могут содержать информацию о состоянии между метод вызывает. Однако объекты Single Call могут быть сконфигурированы в режиме с балансировкой нагрузки.
Singleton объекты
объектов Singleton являются теми объектами, которые обслуживает несколько клиентов и, следовательно, доля данных пути хранения состояния информации между клиентом заклинаний. Они полезны в случаях , в которых данные должны совместно использоваться между клиентами, а также в , которые накладные расходы на создание и поддерживающие объекты существенны.
Client-Activated объекты (САО)
Client-активированных объектов (САО) являются объекты на стороне сервера, которые активируются по запросу от клиента . Этот способ активации сервера объектов очень похож на классический COM-компонент. Когда клиент отправляет запрос на сервер с использованием оператора «новый», сообщение с уведомлением об активации отправляется в удаленное приложение. Затем сервер создает экземпляр запрашиваемого класса и возвращает ObjRef обратно в клиентское приложение, которое вызывало его . Затем создается прокси-сервер на стороне с использованием ObjRef.Вызовы метода клиента будут выполнены на прокси. Объекты, активированные клиентом могут хранить информацию о состоянии между метод вызывает для своего конкретного клиента , а не через другого клиента объектов. Каждый вызов «нового» возвращает прокси-сервер для независимого экземпляра типа сервера .
Информация о состоянии некоторые данные, которые вы храните в переменных или свойств объекта, чтобы обработать запрос клиента.
С Объект с одним вызовом создается, когда клиент запрашивает его для выполнения некоторой работы и уничтожается после его выполнения, он не может хранить информацию о состоянии, чтобы каждый запрос создавал новый объект (он может загружать и хранить данные в источнике данных, чтобы сделать это).
A Объект Singleton создается только один раз (возможно, на сервере starup) и lifes при условии, что серверный процесс запущен. Он может хранить информацию в переменных и свойствах для обработки клиентских запросов, чтобы каждый клиент работал с одним и тем же объектом, и он не уничтожается после вызова клиента.
Простым примером для отображения различия между одним вызовом и одноэлементным объектом является создание метода Increment() для увеличения переменной (целого) в объекте и записи переменной в Консоль. Объект единого вызова всегда будет печатать одно и то же значение в Консоли (1, если переменная начинается с 0), в то время как одиночный объект всегда будет печатать увеличенное значение (1, 2, 3 и т. Д.) После каждого вызова.
О, так что означает информация о состоянии? (извините за другой вопрос noobish после хорошего ответа) –
@KiNGPiN: Я обновил свой ответ с некоторой информацией о «информации о состоянии» – Jehof
ooh, отлично ... получил это Спасибо! :) –