我有一个WCF服务操作,它接受自定义类型MyQuery的数据协定参数 - function Search(q as MyQuery)
。 MyQuery对象包含2个属性:Flex&WCF - 枚举错误
MyQuery.SearchPhrase (string)
MyQuery.SearchType (custom enum SearchTypeEnum)
我也有一个使用此服务的Flex客户端应用程序。但是,当Flex的调用搜索()操作,我得到了枚举属性以下错误:
“无法找到 类型定义“http://mydomain/2009/04/SearchTypeEnum::SearchTypeEnum”
错误来自Flex的抛出,而它正在建立对服务的请求。
所以我的问题是.....有什么办法来解决这个问题在Flex?或者,我可以选择重新设计没有枚举的服务吗?
这是枚举数据契约是如何在服务层定义:
<DataContract(Namespace:="http://mydomain/2009/04/SearchTypeEnum")> _ Public Enum SearchTypeEnum <EnumMember()> [Boolean] = 0 <EnumMember()> [NaturalLanguage] = 1 End Enum
据我知道这是一个枚举数据合同的正确定义。我也尝试在服务和MyQuery类上使用ServiceKnownType和KnownType属性,但无济于事。
谢谢 - 已经尝试与.NET客户端,它工作正常。我还应该注意到,我有其他服务操作,从Flex工作正常。只有在引入枚举时才会发生此错误。 – Keith 2009-04-10 16:29:11