Добрый день всем..
Почитал книжку посвященной сабжу... так и не понял чем отличаются режимы клиентской и серверной активизацией (Singleton, SingleCall).
Может кто-нибудь более подробно разъяснить?
Здравствуйте, SergunRu, Вы писали:
SR>Может кто-нибудь более подробно разъяснить?
In addition, server-activated objects can be declared as Singleton or SingleCall objects. A Singleton object has exactly one instance to serve all possible clients. A SingleCall object requires that each incoming call is served by a new instance.
Что в переводе значит:
Singleton — создаётся один объект, который обслуживает все подключения к серверу.
SingleCall — на каждое обращение к методу серевера создаётся новый объект.
Здравствуйте, master_of_shadows, Вы писали:
__>Здравствуйте, SergunRu, Вы писали:
SR>>Может кто-нибудь более подробно разъяснить?
__>__>In addition, server-activated objects can be declared as Singleton or SingleCall objects. A Singleton object has exactly one instance to serve all possible clients. A SingleCall object requires that each incoming call is served by a new instance.
__>Что в переводе значит:
__>Singleton — создаётся один объект, который обслуживает все подключения к серверу.
__>SingleCall — на каждое обращение к методу серевера создаётся новый объект.
а что есть тогда клиентская активизация?
Здравствуйте, <Аноним>, Вы писали:
А>Здравствуйте, master_of_shadows, Вы писали:
__>>Здравствуйте, SergunRu, Вы писали:
SR>>>Может кто-нибудь более подробно разъяснить?
__>>__>>In addition, server-activated objects can be declared as Singleton or SingleCall objects. A Singleton object has exactly one instance to serve all possible clients. A SingleCall object requires that each incoming call is served by a new instance.
__>>Что в переводе значит:
__>>Singleton — создаётся один объект, который обслуживает все подключения к серверу.
__>>SingleCall — на каждое обращение к методу серевера создаётся новый объект.
А>а что есть тогда клиентская активизация?
Активируемые клиентом объекты, в противоположность активируемым сервером, управляются клиентом. Именно клиент определяет время жизни того или иного экземпляра.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
SingleCall объект создается при каждом запросе клиента. То есть каждый вызов функции серверного объекта с клиента обрабатывает новый серверный объект.
Объект с клиенской активизацией создается ровно один на каждого клиента.
Singleton объект создается один на всех клиентов.
Чтобы лучше это понять попробуйте написать класс серверного объекта с подсчетом количества созданных экземпляров. Например так:
public ServerClass : MarshalByRefObject
{
private static count = 0;
public ServerClass()
{
count++;
}
pubic int GetCount()
{
return count;
}
}
Попробуйте на клиента разные способы активизации объекта и повызывайте функцию GetCount с разных машин. Будет все очевидно
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение