Я развиваюсь в технологиях MS дольше, чем я помню на этом этапе. Когда .NET прибыл на сцену, я подумал, что они ударили ноготь по голове, и с каждой итерацией и версией я думал, что их технологии становятся все сильнее и сильнее и с нетерпением ждут каждого релиза.
Однако, работая с WCF в прошлом году, я должен сказать, что мне очень трудно работать с технологией и понимать ее. Первоначально это довольно привлекательно, но когда вы начинаете вникать в это, конфигурация - это кошмар, который должен переопределять поведение для размеров сообщений, количества объектов, содержащихся в сообщениях, сложности модели безопасности, утилизации прокси-серверов при сбое и, наконец, возвращаясь к определению интерфейсов в коде, а не в XML.
Он просто не работает из коробки, и я думаю, что это должно произойти. Мы обнаружили все вышеперечисленные проблемы, испытывая себя или когда наши продукты были на месте.
Я понимаю смысл этого, но, безусловно, они могли бы найти более простой механизм реализации.
Я предполагаю, что я прошу,
- Я смотрю на WCF неправильно?
- Какие сильные стороны это имеет альтернативы?
- При каких обстоятельствах я должен выбрать использование WCF?
ОК. Народ, извините за задержку в ответе, у работы есть неприятная привычка иногда мешать:)
Некоторые разъяснения Моя основная точка краски с WCF, я полагаю, падает в следующие области В то время как он работает из коробки, ваши левые с некоторыми серьезными сюрпризами под капотом. Как указано выше, основные вещи ограничены до тех пор, пока они не будут переопределены.
- Размер строки, которая может быть передана, не может превышать 8K
- Количество объектов, которые могут быть переданы в одном сообщении, ограничено
- Прокси не автоматически восстанавливаются после сбоев
- Объем конфигурации, в то время как там есть хорошая вещь, но все понимают и что использовать то, что и при каких обстоятельствах может быть трудно понять. Особенно при развертывании программного обеспечения на сайте с различными требованиями безопасности и т.д. Когда мы говорим о конфигурации, нам приходилось скрывать многие из них во внутренней базе данных, так как пользователи безопасности и сети на месте пытались изменить ситуацию в файлах конфигурации без понимания он.
- Сохранение конфигурации интерфейсов в коде, а не переход к явно определенным интерфейсам в XML, которые могут быть опубликованы и использованы практически всем. Я знаю, что мы можем экспортировать XML из сборки, но он наполнен мусором, а некоторые генераторы кода захлестнули его.
Я знаю, что мир движется дальше, я несколько раз переходил к последнему (ахем 22 года, который я разрабатывал), и активно использую WCF, поэтому не поймите меня неправильно, я понимаю, что это для и где он возглавляет.
Я просто думаю, что должны быть более простые параметры конфигурации/развертывания, более простая настройка и лучшее управление для конфигурации (возможно, поставщик конфигурации SQL, а не только файлы web.config/app.config).