WCF MessageHeaderArray не работает правильно - PullRequest
1 голос
/ 07 декабря 2011

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

Моя проблема заключается в том, что хотя я добавил строку [] в качестве MessageHeaderArrayкогда я добавляю ссылку на службу в службу в клиенте тестового веб-приложения, переменная генерируется как просто строка.

Вот часть моего MessageContract:

[MessageContract]
public class FileInformation : IDisposable
{
    [MessageHeader(MustUnderstand = true)]
    public string FileName { get; set; }

    [MessageHeaderArray]
    public string[] RequiredEntityNames { get; set; }

    [MessageHeaderArray]
    public string[] RequiredEntityIds { get; set; }

    [MessageHeader(MustUnderstand = true)]
    public string EntityName { get; set; }

Этосводя меня с ума, и я провел почти день, пытаясь выяснить, что происходит.Любые идеи о том, почему RequiredEntityNames и RequiredEntityIds генерируются как строка вместо строки []?

1 Ответ

1 голос
/ 07 декабря 2011

Пробовали ли вы использовать атрибут «MessageHeader» для массивов вместо «MessageHeaderArray»?

MSDN, «Использование массивов внутри контрактов сообщений»: http://msdn.microsoft.com/en-us/library/ms730255.aspx

...