powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / SocketException
2 сообщений из 2, страница 1 из 1
SocketException
    #39364386
Супер_Пав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, уважаемые знатоки =)
Есть у меня класс, обычный, ничего такого. Есть в нем св-во:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
[System.Xml.Serialization.XmlElementAttribute("Sources", typeof(SourcesInfo))]
public object[] Items {
    get {
        return this.itemsField;
    }
    set {
        this.itemsField = value;
    }
}


На сервере есть метод
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
public ReportInfo GetReport(string id)
{
    ReportInfo report = null;

    if (GlobalVariables.Reports.ContainsKey(id))
    {
        var serializer = new XmlSerializer(typeof(ReportInfo));

        var reader = new IO.StreamReader(GlobalVariables.Reports[id]);
        report = (ReportInfo)serializer.Deserialize(reader);
        reader.Close();
    }
    else
        GlobalVariables.Log.Info($"Не удалось загрузить отчет '{id}'");

    return report;
}


Ничего особенного, обычная десириализация, которая проход на ура. Но когда клиент вызывает этот метод, падает ошибка
"An existing connection was forcibly closed by the remote host"
Если изменить св-во
Код: c#
1.
public object[] Items


на
Код: c#
1.
public SourcesInfo[] Items


То все работает. Кто подскажет, почему не прокатывает с object[]?
...
Рейтинг: 0 / 0
SocketException
    #39393915
ntkrnlmp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Супер_Пав,

Конкретно почему ошибка с подключением - не знаю, но зачем вам object[]? Как десереализатор поймет, каким образом ему десериализовывать объект?

Ок, да, NET Contract Serializer умеет записывать тип объекта в метаданные. Но не факт, что этот тип будет доступен на клиенте.

Не используйте полиморфизм в контрактах WCF, а если используете - помечайте как KnownType.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / SocketException
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]