Несколько известных типов ArrayOfstring в методах IService - PullRequest
0 голосов
/ 03 апреля 2020

Позднее преобразование наших служб fabri c из V1 в V2 и проблемы с известными типами. Использование 3.4.677 удаленного взаимодействия.

Получение следующей ошибки:

```Type 'System.Collections.Generic.List`1[System.String]' cannot be added to list of known types since another type 'System.String[]' with the same data contract name 'http://schemas.microsoft.com/2003/10/Serialization/Arrays:ArrayOfstring' is already present.```

Ни один из объектов (т. Е. Контрактов), возвращаемых методами обслуживания (т. Е. IService), не использует ничего, кроме string[] как коллекция строк. Проблема возникает в определениях метода IService, в частности, для параметра (примечание: не возвращаемые типы). Изменение всех List<string> на string[] в параметрах метода решает проблему. Однако я не хотел бы изменять интерфейс IService.

В сообщении об ошибке указывается, что дополнительный «известный тип» ArrayOfstring не может быть добавлен. Добавление атрибута ServiceKnownType (typeof (List)) к методам с List<string> не имеет никакого эффекта.

Существуют ли какие-либо другие атрибуты, которые можно применять для создания производимого определения xml разрешить дополнительные ArrayOfstring типы?

...