Szer собирает со своего генератора exe и MSBuild вызывает свой exe с параметрами как будто из командной строки. Я в Snowflaqe беру собранный exe, подгружаю в MSBuild процесс со всеми зависимостями и вызываю метод.
По сравнению с ньютоном, который повсеместно используют, STJ ещё какой быстрый же. В 2-3 раза быстрее сериализация, десериализация - в 1.7-2 раза. Надо смотреть, насколько сильно добавление фшарповых типов повлияет.
Отчего вдруг «не работает»? У меня например именно так и работает: приходят данные с другого конца вселенной, я их должен провалидировать именно по таким правилам: длина не более, значение в диапазоне, значение из набора.
И конкретные ошибки валидации мне неинтересны, на десятках тысяч сообщений никто не будет разбираться с каждой конкретной ошибкой, невалидные данные мы просто отбрасываем (можем залоггировать конечно)
Нет, т.к. что я потом с этой метрикой делать буду? Пусть команда, которая шлет всякий мусор, заводит себе метрику на количество запросов, по которым им nack приходит.
Но если бы у валидационного правила был код ошибки или другой идентификатор, или хотя бы просто сообщение в логах с полным списком нарушений — эта проблема (которая для вас возможно и не проблема совсем) решалась бы ощутимом быстрее, ещё до того как «разбудят» инженера, условным саппортом.