REST WCF サービスからジェネリック ICollection を返そうとしています。以下は可能でしょうか?
[ServiceContract]
public class WebConfigurationManager {
[WebGet]
[OperationContract]
public ICollection<string> GetStrings() {
return new string[] { "A", "B", "C" };
}
}
Web ブラウザーからこの操作を実行しようとすると、エラーが発生します。私のWCFトレースを見ると、次のことがわかります。
タイプ 'System.String[]' (操作 'GetStrings'、コントラクト 'WebConfigurationManager' の場合) のパラメーターをシリアル化できません。これは、メソッド内の正確なタイプ 'System.Collections.Generic.ICollection`1[System.String]' ではないためですシグネチャであり、既知の型のコレクションには含まれていません。パラメーターをシリアル化するには、ServiceKnownTypeAttribute を使用して、操作の既知の型のコレクションに型を追加します。