Не определен конструктор без параметров для десериализации импортированного типа объекта из JSON.

Dim result = New JavaScriptSerializer().Deserialize(Of SearchResult)(Request.Cookies.Get("user").Value)

Исключение типа «System.MissingMethodException» возникло в System.Web.Extensions.dll, но не было обработано в пользовательском коде.

Дополнительная информация: конструктор без параметров не определен для типа «System.DirectoryServices.SearchResult».

Я вижу, что было много вопросов по этой проблеме, но требуемые типы объектов были самоопределяемым классом, поэтому решением было бы создать новый конструктор без параметров для этого класса.

В моем случае я пытаюсь использовать SearchResult из пространства имен System.DirectoryServices в качестве типа объекта, который нужно десериализовать из строки JSON. Как я могу это решить?


person Ursidae    schedule 09.10.2019    source источник
comment
Возможно, это поможет stackoverflow.com/questions/13536993/   -  person VDWWD    schedule 09.10.2019
comment
@BrianRogers, но моя проблема не в том, что «Метод не найден» ...   -  person Ursidae    schedule 10.10.2019


Ответы (1)


Вы не можете десериализовать SearchResult< /a>, потому что у него нет открытого конструктора.

Теоретически вы могли бы написать JavaScriptConverter и используют отражение для создания экземпляра целевого класса в методе Deserialize() преобразователя, но это было бы хакерством первого порядка.

Либо сериализуйте и десериализуйте созданный вами пользовательский класс, либо переосмыслите то, что вы делаете.

person Stephen Kennedy    schedule 20.10.2019