|
Remoting. Поиметь объект класса на сервере.
|
|||
---|---|---|---|
#18+
Запускаем сервер ChannelServices.RegisterChannel(new TcpChannel(888)); RemotingConfiguration.RegisterWellKnownServiceType( typeof(RStorage), "RemoteStorageHost", WellKnownObjectMode.SingleCall); Клиенты подцепляются, и создаются объекты класса RStorage. Как на сервере же получать эти объекты сразу после создания для инициализации (настройки всякие)? ----- Иногда решительный шаг вперед - результат хорошего пинка сзади ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2004, 21:33 |
|
Remoting. Поиметь объект класса на сервере.
|
|||
---|---|---|---|
#18+
Опишите подробнее, что именно вы хотите. Чтобы создать объект на сервере, никаких доп. действий не нужно. Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 00:53 |
|
Remoting. Поиметь объект класса на сервере.
|
|||
---|---|---|---|
#18+
Откуда в конструкторе возьмутся данные? Единственный вариант для меня пока - SAO singleton. Тогда можно сделать new, и инициализировать члены класса хоть в конструкторе, хоть после создания.. А как поступать с инициализацией данными извне объектов, активируемых клиентом? У класса такого объекта и конструктор-то бывает только по-умолчанию. ----- Иногда решительный шаг вперед - результат хорошего пинка сзади ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2004, 18:51 |
|
Remoting. Поиметь объект класса на сервере.
|
|||
---|---|---|---|
#18+
Может я чего не понял, но если речь идет об общих значениях полей/методах для каждого экземпляра одного класса, то эти общие надо сделать статиками. Вроде того: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2004, 11:22 |
|
Remoting. Поиметь объект класса на сервере.
|
|||
---|---|---|---|
#18+
на пальцах: Есть класс с конструктором по-умолчанию (без параметров). Объект класса создается клиентом. Сервер не имеет указателей на объекты этого класса, создаваемые клиентами. Внутри класса происходит работа, например, с файлами в некоем каталоге на сервере (ессесно). Как сказать объекту класса, в каком каталоге ему работать?! Реестр, сокеты и проч. не предлагать - коню понятно... хотя и там нужно знать ветку реестра, порт, хост и т.д.. Все это меняющиеся параметры, и очень хотелось бы узнать, как передать эту "внешнюю" информацию объекту класса. ----- Иногда решительный шаг вперед - результат хорошего пинка сзади ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2004, 15:53 |
|
Remoting. Поиметь объект класса на сервере.
|
|||
---|---|---|---|
#18+
(`ykaЕсть класс с конструктором по-умолчанию (без параметров). Объект класса создается клиентом. При SingleCall клиентом создается клиентский же прокси к серверному классу, а не объект. (`ykaСервер не имеет указателей на объекты этого класса, создаваемые клиентами. При вызове метода класса помеченного как SingleCall объект этого класса создается на сервере. Сервер имеет на него все указатель. А вот клиент, как раз, про него ни когда ни чего не узнает, если этот самый объект не свяжется с клиентом и не сообщит о себе. (`ykaВнутри класса происходит работа, например, с файлами в некоем каталоге на сервере (ессесно). Работа происходит не внутри класса, а внутри потока вызванного тобой метода. (`ykaКак сказать объекту класса, в каком каталоге ему работать?! Опять таки, не объекту, а методу. Сказать просто - передать путь как параметр при вызове метода. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2004, 16:39 |
|
Remoting. Поиметь объект класса на сервере.
|
|||
---|---|---|---|
#18+
Roman S. Golubin (`ykaЕсть класс с конструктором по-умолчанию (без параметров). Объект класса создается клиентом. При SingleCall клиентом создается клиентский же прокси к серверному классу, а не объект. Точно. Более того, SingleCall экземпляр класса на сервере создается непосредственно в момент вызова какого-либо метода этого экземпляра. А хуже всего то, что SingleCall не хранит своего состояния (значения полей), т.к. один экземпляр клиентского TransparentProxy при последовательном вызове одного и того-же метода создаст на сервере 2 разных экземпляра класса, методы которых и будут выполнены. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2004, 16:53 |
|
Remoting. Поиметь объект класса на сервере.
|
|||
---|---|---|---|
#18+
вообще-то можно и проще если объект SingleTon то сам сервер может его получить обратившись сам к себе как клиент. Т.е. что мешает серверу обращаться сам к себе? а вообще посмотри http://www.genuinechannels.com/ ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2004, 18:00 |
|
|
start [/forum/topic.php?fid=19&fpage=38&tid=1398147]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
76ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 170ms |
0 / 0 |