Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Remoting + Reflection = ?тонкий клиент?

263
26 мая 2008 года
koltaviy
816 / / 16.12.2004
Всем привет.
В идеале ситуация следующая:
1) Сервер и клиент знают о наличии интерфейса, но ничего не знают о типах классов в плагинах (классы - наследники интерфейса).
2) Сервер в run-time подгружает все типы из плагинов, которые являются наследниками интерфейса.
3) Информация о GUI подгружаемого класса содержится в нем самом (сервер о GUI ничего не знает).
4) Клиент получает через интерфейс объект подгруженного на сервере класса через remoting (server-activated object).
5) Клиенту необходимо отобразить GUI класса.

Проблема:
Контролы не передаются через AppDomain из-за Security Restrictions.

Вопрос:
Как можно реализовать данный подход?
5
26 мая 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: koltaviy
Как можно реализовать данный подход?


Сбросить гуи на клиента и не мучать этим сервер. Клиент собственно для этого и предназначен.

Контролы не просто нельзя передать через ремотинг - возникает проблема с ObjRef, который не относится ни к какому каналу.

На мой взгляд, наилучший вариант - разделить функционал подключаемых модулей (плагинов) на серверный (логика) и клиентский (гуи).

263
26 мая 2008 года
koltaviy
816 / / 16.12.2004
Спасибо.
Понятно, что в общем случае клиент берет на себя задачу по отображению GUI.
Но тут ситуация-то другая:
1) Единожды устанавливаются клиенты на компы.
2) Единожды устанавливается сервер.
3) При необходимости разрабатываются модули и "заливаются" на сервер. На этом манипуляции заканчиваются.
а могло бы быть..: 4) Каждый новый модуль "заливается" на каждый клиент.. (именно этого хочется избежать)..
5
28 мая 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: koltaviy
3) При необходимости разрабатываются модули и "заливаются" на сервер. На этом манипуляции заканчиваются.
а могло бы быть..: 4) Каждый новый модуль "заливается" на каждый клиент.. (именно этого хочется избежать)..


Ну, дык клиент подключается, интересуется о новых модулях и тягает их с серва при необходимости. :)

263
28 мая 2008 года
koltaviy
816 / / 16.12.2004
Ну так и приходится делать, только криво это как-то.
По идее в качестве тонкого нужно использовать Web-browser, только вот по задаче нельзя. :(
241
10 июня 2008 года
Sanila_san
1.6K / / 07.06.2005
Цитата:
Ну так и приходится делать, только криво это как-то.

Отчего же криво? Обычная система обновлений клиента, так делают все. Как вариант, можно динамически компилировать классы на клиенте, но мне этот вариант нравится меньше.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог