|
.Net Remoting и удаленный класс
|
|||
---|---|---|---|
#18+
Привет всем! Пишу я приложение для фирмы. Изначально задумывалось как клиент-серверное! Но при написании клиента он разросся до немыслемых размеров. Точнее не сам клиент, а операции бизнесс логики на нем. Решил перевести приложение на трехзвенку, написанием тем самым сервера приложений. Все бы ничего, попутно читая документацию по Remoting. Но вот какое дело. Как я понял обращаться к Remote объектам можно только предварительно объявив их интерфейсы. Дак вот, к одному классу я обратиться могу. А как мне обратиться к объекту, в котором есть подкласс ? Пример класса для Remoting: Код: plaintext 1. 2. 3. 4. 5. 6.
Интересует как можно обратится к классу B. Если даже разобрать строку подключения клиента, то она будет такой: http://192.168.100.1/MyRemoteClass.soap Т.е. чтобы мне подключится к другому классу, придется менять строку подключения, что особо не приемлемо. Может я что то не приавльно делаю? Подскажите? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2007, 13:31 |
|
.Net Remoting и удаленный класс
|
|||
---|---|---|---|
#18+
Неужели так мало спецов по Remoting у нас ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2007, 16:05 |
|
.Net Remoting и удаленный класс
|
|||
---|---|---|---|
#18+
webus Пример класса для Remoting: Это не пример класса для Remoting, потому что он не унаследован от MarshalByRefObject. Так что, во-первых, приведите нормальный код. Во-вторых, объясните необходимость использования вложенного класса. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2007, 16:08 |
|
.Net Remoting и удаленный класс
|
|||
---|---|---|---|
#18+
Нахлобуч webus Пример класса для Remoting: Это не пример класса для Remoting, потому что он не унаследован от MarshalByRefObject. Так что, во-первых, приведите нормальный код. Во-вторых, объясните необходимость использования вложенного класса. Хорошо! Ну зыбыл про нормальный код :) Код: plaintext 1. 2. 3. 4. 5. 6.
А приводил я его сугубо для примера. С вложенными классами есть необходимость. Т.к. написана очень большая библиотека, где именно используется вложенны классы. Пример: Код: plaintext 1. 2. 3.
Это очень грубый пример. Но факт что охото так же работать с ними на клиенте, с учетом того что они реализованы на сервере. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2007, 18:22 |
|
.Net Remoting и удаленный класс
|
|||
---|---|---|---|
#18+
Да уж... Как-то очень изысканно получается. Боюсь, что каждый класс придется экспортировать отдельно. Советую капитально задуматься над дизайном. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2007, 18:31 |
|
.Net Remoting и удаленный класс
|
|||
---|---|---|---|
#18+
webus Код: plaintext 1. 2. 3.
Эт вы чего, собираетесь делать OleDbConnection доступным удаленно? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2007, 18:32 |
|
.Net Remoting и удаленный класс
|
|||
---|---|---|---|
#18+
Обязательно необходимо использовать раные URL для разных MarshalByRef типов. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2007, 19:19 |
|
.Net Remoting и удаленный класс
|
|||
---|---|---|---|
#18+
Твоя главная задача, я так понимаю, это не мнять ничего на клиенте ? Кроме как содержания удаленных типов ? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2007, 19:21 |
|
.Net Remoting и удаленный класс
|
|||
---|---|---|---|
#18+
А для того чтобы на клиенте постоить такое же дерево классов и подклассов тебе необходимо использовать утилиту SoapSuds.exe она сгенерирует прокси классы (не интерфейсы), а ты уже самостоятельно их вставь один в другой. советую прочитать Advanced .Net Remoting (C# Edition) by Ingo Rammer Apress © 2002 (404 pages) там есть все по Remoting. я давно изучал уже плохо помню. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2007, 19:26 |
|
.Net Remoting и удаленный класс
|
|||
---|---|---|---|
#18+
Главное создать все MarshalByRef типы на сервере и зарегистрировать каждого со своим персональным URL. канал использовать можно один и тот же и порт тоже. а дальше - задача тривиальная. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2007, 19:29 |
|
.Net Remoting и удаленный класс
|
|||
---|---|---|---|
#18+
На сервере: A: IA; { public class B: IB{...}; public IB b=new B(); } на клиенте: IA a=Activator.CreateInstance(typeof(IA), "URL://"); IB b=a.b; полный текст ошибки какой? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2007, 19:31 |
|
|
start [/forum/topic.php?fid=19&fpage=36&tid=1398051]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 168ms |
0 / 0 |