Мне нужно обернуть устаревший API сборки сборки (набор классов и интерфейсов) с помощью службы WCF. Сервис рассматривается как прокси-сервер, который делегирует вызовы существующим классам практически без дополнительной работы.WCF: обертывание устаревшего вопроса API
Итак, я добавил [ServiceContract] interface
, который предоставляет методы, которые имеют дело с существующими структурами и классами. Но wcf-proxy-generator (svcutil) удалил некоторые поля (объявленные как только для чтения) и недостаточно умен для псевдонимов (например: public bool Boolean1 { get { return Booleans[0] }}
превращен в bool Boolean1 { get; set; }
).
Я решил дублировать такие унаследованные классы, чтобы устранить путаницу. Теперь для некоторых из существующих классов существует контрактная версия. & У WCF-сервиса есть дополнительный код, который переводит безопасные по контракту классы в устаревшие версии & наоборот.
Вы бы предложили дублировать все устаревшие классы или это нормально, чтобы преобразование было только для проблемных? Может быть, есть некоторые дополнительные параметры генератора прокси, которые я пропустил.
Спасибо заранее!
Наконец-то мне пришлось создать все классы, совместимые с wcf, и уровень перехода к устаревшим классам. –