Использование пользовательских объектов между веб-сервисами - PullRequest
0 голосов
/ 17 сентября 2009

У меня есть веб-сервис, который предназначен для приема данных о производительности через пользовательский объект. Пользовательский объект содержит коллекцию (общий список) показателей производительности среди других данных. Показатель производительности состоит из простых типов данных (строки, целые и дата-время). Единственный метод, предоставляемый веб-сервисом, требует передачи этого пользовательского объекта (объекта данных о производительности).

Проблема заключается в внешнем использовании этого пользовательского объекта. Я хочу использовать методы Add () и Item () класса Generic List вместе с различными другими функциями этого класса в другом веб-сервисе. Если я запрашиваю объект из веб-службы Performance Data, он разделяет внутреннюю коллекцию на arrayList. Я бы хотел, чтобы он оставался общей коллекцией.

Я играл с методом XmlInclude, но в настоящее время не нашел решения с ним.

Следующее, что я попытался сделать, это создать сборку этого конкретного объекта, которую могут использовать как веб-служба Peformance Data, так и любые спутниковые программы (то есть другой веб-сервис). Проблема здесь заключается в том, что, когда я пытаюсь передать пользовательский объект, созданный отдельной сборкой, веб-служба данных о производительности лает другого типа. (Также я применяю атрибут XmlInclude (GetType (пользовательская сборка)) к открытому методу). Однако все еще думает, что типы не конвертируемы.

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

У кого-нибудь есть идея, кроме перестройки программы для работы с методами, предоставляемыми ArrayList?

Ответы [ 2 ]

0 голосов
/ 23 сентября 2009

Я нашел решение, которое будет работать с .Net 2.0. При использовании сначала контракта на веб-сервисы (WSCF http://www.thinktecture.com/resourcearchive/tools-and-software/wscf/wscf-walkthrough) Мне удалось передать общие коллекции между двумя службами. Недостатком WSCF, как следует из названия, является то, что этот подход требует использования контракта сначала, а не более распространенной методологии кода сначала. К счастью, не так уж сложно изменить класс и прокси после того, как они созданы. Надеюсь, это поможет любому потерянному путешественнику ...

0 голосов
/ 17 сентября 2009

Если вы используете WCF, вы можете настроить тип коллекции: ArrayList, фиксированный массив или общий список.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...