Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
11.02.2009, 11:13
|
|||
|---|---|---|---|
|
|||
Remoting-сборка на клиенте |
|||
|
#18+
Remoting-приложение на клиенте требует присутствия сборки, аналогичной той, которая вызывается с сервера через вызов Activator.GetObject(...). "Аналогичная" потому, что в коде клиентской версии должен остаться интерфейс и описания вызываемых методов (код самих методов можно вырезать - это иногда нужно для тех методов, которые я не хочу показывать для взломщиков кода). Вопрос: как на стадии проекта в VS2005 указать, чтобы для сервера была полноценная сборка, а для клиента "урезанная"? Может существуют какие директивы, описав которые в коде, затем их включать или выключать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.02.2009, 11:29
|
|||
|---|---|---|---|
|
|||
Remoting-сборка на клиенте |
|||
|
#18+
Разделить описания интерфейсов и реализацию сервиса на две сборки да и все? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.02.2009, 11:38
|
|||
|---|---|---|---|
|
|||
Remoting-сборка на клиенте |
|||
|
#18+
Владимир Б. Вопрос: как на стадии проекта в VS2005 указать, чтобы для сервера была полноценная сборка, а для клиента "урезанная"? Сделай сборку с одним классом, который будет один в один, как серверный (тот, который получаешь через Activator.GetObject), только с пустыми методами, и подпихни эту заглушку клиенту. Нэймспейсы и название сборки тоже должны быть одинаковыми. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.02.2009, 16:40
|
|||
|---|---|---|---|
|
|||
Remoting-сборка на клиенте |
|||
|
#18+
remotingСделай сборку с одним классом, который будет один в один, как серверный (тот, который получаешь через Activator.GetObject), только с пустыми методами, и подпихни эту заглушку клиенту. Нэймспейсы и название сборки тоже должны быть одинаковыми. Я так и делаю. Точнее, сначала генерю серверную сборку, затем вырезаю временно код (потом его восстанавливаю) из методов (делаю их пустыми), после чего генерю клиентскую сборку. Заранее сделать заглушку не могу, поскольку неконтролируемы бывают изменения в составе методов, объявленных в интерфейсе - вдруг добавлю какой метод. Я не хочу за этим следить. Я хочу узнать - есть ли возможность "виртуально вырезать" код на момент генерации сборки, чтобы компилятор "не видел" этого кода в принципе - например, присвоить переменной значение false, если нужен весь код, и true - если сделать методы "пустыми", и далее в методах встроить какие-то конструкции, которые по этой переменной определяли, позволить ли компилятору видеть код внутри этих конструкций. Перед компиляцией определяем значение этой переменной и ВСЁ. Сменили значение - и можем генерить другой вид сборки (серверную (полную) или клиентскую (очищенную)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.02.2009, 18:59
|
|||
|---|---|---|---|
|
|||
Remoting-сборка на клиенте |
|||
|
#18+
Владимир Б.Заранее сделать заглушку не могу, поскольку неконтролируемы бывают изменения в составе методов, объявленных в интерфейсе - вдруг добавлю какой метод. Я не хочу за этим следить. Я хочу узнать - есть ли возможность "виртуально вырезать" код на момент генерации сборки, чтобы компилятор "не видел" этого кода в принципе - например, присвоить переменной значение false, если нужен весь код, и true - если сделать методы "пустыми", и далее в методах встроить какие-то конструкции, которые по этой переменной определяли, позволить ли компилятору видеть код внутри этих конструкций. Перед компиляцией определяем значение этой переменной и ВСЁ. Сменили значение - и можем генерить другой вид сборки (серверную (полную) или клиентскую (очищенную)). То, что ты хочешь, называется "условная компиляция": в свойствах проекта определи какой-нибудь дефайн (Conditional compilation symbols) и дальше в коде навставляй где там надо ифдефов, но, имхо, я не вижу, чем это проще заранее собранной заглушки. Если по ходу работы возникает потребность в изменении интерфейсов, значит архитекторы ваши че-то схалтурили на этапе проектирования системы (если такой этап, конечно, был :)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=19&tablet=1&tid=1397915]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
78ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
35ms |
get tp. blocked users: |
2ms |
| others: | 9ms |
| total: | 170ms |

| 0 / 0 |
