2011-12-07 31 views
1

我有一個相對簡單的服務,它接收消息協定以上傳文件。因爲它是一個文件上傳,所以只有文件流可以在消息體中,所以我使用元數據的消息頭。WCF MessageHeaderArray無法正常工作

我的問題是,儘管我在測試Web應用程序客戶端中向服務添加服務引用時添加了字符串[]作爲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

您是否嘗試過在數組中使用「MessageHeader」屬性而不是「MessageHeaderArray」?

MSDN,「使用數組內部消息協定」:http://msdn.microsoft.com/en-us/library/ms730255.aspx

+0

非常感謝 - 我曾嘗試之前,並沒有工作,但這次卻做到了! –