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

start [/forum/topic.php?fid=19&fpage=33&tid=1397915]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
2ms |
| others: | 277ms |
| total: | 405ms |

| 0 / 0 |
