интерфейс в веб-сервисе - PullRequest
       5

интерфейс в веб-сервисе

3 голосов
/ 03 апреля 2011

Могу ли я использовать такой веб-сервис:

[WebMethod]
public void SetFieldValue(IFieldValue fieldValue, long itemId)
{
    fieldValue.SetValue(itemId);
}

Где IFieldValue - это интерфейс? если так - как я могу определить тип экземпляра в клиенте? если я не могу использовать это в веб-сервисе, я должен создать 4 различных веб-сервиса, которые делают то же самое (у меня есть 4 реализации IFieldValue)?

Обновление: Моя проблема в том, что у меня есть веб-сервис, который хранит элемент. Элемент имеет поля и объявлен как:

class Item {
    IField[] fields{get;set;}

    more properties and methods
}

Ответы [ 2 ]

1 голос
/ 03 апреля 2011

Ответ - нет . Если вы можете, попробуйте абстрактный базовый класс вместо интерфейса - он должен быть правильно сериализован и может соответствовать вашим требованиям.

0 голосов
/ 03 апреля 2011

Я думаю, вам тоже стоит посетить эту тему, Веб-служба не может сериализовать интерфейс

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