У меня есть веб-сервис, который предназначен для приема данных о производительности через пользовательский объект. Пользовательский объект содержит Сбор (Общий список) показателей эффективности среди других данных. Показатель производительности состоит из простых типов данных (строки, ints и datetime). Единственный метод, предоставляемый веб-сервисом, требует, чтобы этот пользовательский объект (объект данных производительности) был передан.Использование пользовательских объектов между веб-службами
Проблема заключается в использовании этого настраиваемого объекта извне. Я хочу использовать методы Add() и Item() класса Generic List вместе с различными другими функциями этого класса в другом веб-сервисе. Если я запрашиваю объект из Web-сервиса Performance Data, он серализует внутреннюю коллекцию в arrayList. Я бы хотел, чтобы он оставался универсальной коллекцией.
Я играл с использованием метода XmlInclude, но в настоящее время havent нашел решение с ним.
Следующее, что я попытался сделать, это создать сборку этого конкретного объекта, которую могут использовать веб-служба Peformance Data, и любые спутниковые программы (т. Е. Другой веб-сервис). Проблема здесь в том, что когда я пытаюсь передать в пользовательский объект, созданный отдельной сборкой, веб-сервисы производительности передают его другим типом. (Также я применяю атрибут XmlInclude (GetType (пользовательская сборка)) для открытого метода). Однако все же считается, что типы не могут быть конвертируемыми.
Примечание. Я бы предпочел назвать Performance Data WS для получения пользовательского объекта вместо того, чтобы иметь дело с добавлением сборок в каждый проект, которому нужен доступ.
У кого-нибудь есть идея, отличная от реструктуризации программы для работы с методами, открытыми ArrayList?
Веб-службы не предназначены для прохода вокруг пользовательских объектов, на самом деле они будут сериализованы для стандартных типов XML. – shivaspk
Я разместил решение ниже. – 2009-09-23 15:12:26