2010-03-26 55 views
0

我知道事实上,在传入WCF服务时不能使用Type。有没有人有完整的清单?哪些类型不能用于WCF?

+0

而不是一个排除列表,包含列表将更加完整。 – 2010-03-26 12:12:25

+0

我会在这里假设被排除的对象的类型将少于可以包含哪些类型?如果我错了,请纠正我 – chugh97 2010-03-26 12:14:47

+1

你是错的。例如,考虑所有这些GUI组件及其辅助类。 – 2010-03-26 12:17:12

回答

3

我不确定有谁打扰编译列表,我不确定是否有任何用于编译的列表。相反,为了在WCF合同中使用类型必须满足的要求。主要是它必须是可序列化的。

我认为程序员有责任验证合约中使用的类型是否都是可序列化的,并确保所有自定义类型都正确地序列化和反序列化。

1

任何未标记为Serializable,对于初学者。

2

任何你想在WCF服务中使用的东西都需要先是可序列化的,其次,它需要能够使用XML模式来表达。此外,WCF本质上是可互操作的,因此应该避免任何对.NET特别具体的东西(例如,例外,.NET Type等等)。

任何不可序列化的东西都不能使用,任何无法用XML模式表达的东西都不能使用。这包括接口 - 你只能使用具体的类 - 并且它也不包含泛型类型,因为XML模式不知道如何处理泛型类型。

只要你坚持基本的类型(int,string,datetime等)以及任何直接由这些类型组成的东西,你都可以。