Я преобразовываю небольшую функциональность WebAPI в функцию Azure. Мне нужно вернуть модель с несколькими свойствами, включая свойство типа MailAddress.Поддержка функций Azure для пакета пользовательских преобразователей NewtonSoft во внешней библиотеке
Поскольку этот тип не имеет конструктора по умолчанию, перед его сериализацией в JSON мне нужно украсить свойство пользовательским JSONConverter.
[JsonProperty("alternateEmail")]
[JsonConverter(typeof(MailAddressConverter))]
public MailAddress alternateEmail { get; set; }
MailAddressConverter код можно найти здесь:
http://code-smart.org.uk/techniques/serialising-constructor-less-net-types-e-g-mailaddress-using-newtonsoft-json-jsonconvert-in-the-json-net-library/
Существует разница в решении Azure функций, когда я упаковать конвертер класса во внешней DLL или когда я добавить класс встроенный в run.csx. Пользовательский тип конвертера не выполняется при упаковке (вместе с моделью домена), но когда тот же класс добавляется встроенным в файл run.csx, класс корректно сериализуется.
Что здесь происходит? Он должен иметь тот же результат.
С наилучшими пожеланиями,
Jens