这些对象具有ICollection<>
类型的集合如果我将对象图从客户端传递到服务器,则会抛出以下异常:
System.NotSupportedException was unhandled by user code
Message=Collection was of a fixed size.
Source=mscorlib
T4模板生成的修正代码中发生了这种情况。似乎集合在服务器上被反序列化为数组,因此无法修改。有没有办法指定序列化程序应该使用的类型?
答案 0 :(得分:5)
我强烈建议您不要在服务范围内使用POCO课程。创建一组单独的类来模拟要通过线路发送和接收的数据(数据传输对象 - DTO),并使用automapper之类的工具在DTO和POCO类之间移动数据
基本上,您最终会将服务的消费者与服务的内部概念模型联系起来,这意味着您在更改实施时受到限制,因为您需要避免破坏您的客户
答案 1 :(得分:2)
尝试使用以下属性
[ServiceKnownType(typeof(List<string>))]
如果这不起作用,或许可以尝试使用IList<T>
,如果在您的情况下可以使用