我有一个wcf服务操作,它接受自定义类型myquery的数据协定参数--
function Search(q as MyQuery)
. MyQuery对象包含2个属性:
MyQuery.SearchPhrase (string)
MyQuery.SearchType (custom enum SearchTypeEnum)
我还有一个使用此服务的灵活客户端应用程序。但是,当flex调用search()操作时,我得到关于枚举属性的以下错误:
“找不到类型的定义
’
http://mydomain/2009/04/SearchTypeEnum::SearchTypeEnum
“
当flex向服务构建请求时,会从flex中抛出错误。
所以我的问题是……有没有办法在flex中解决这个问题?或者我唯一的选择是重新设计没有枚举的服务?
这是在服务层定义枚举数据协定的方式:
<DataContract(Namespace:="http://mydomain/2009/04/SearchTypeEnum")> _
Public Enum SearchTypeEnum
<EnumMember()> [Boolean] = 0
<EnumMember()> [NaturalLanguage] = 1
End Enum
据我所知,这是枚举数据协定的正确定义。我还尝试在服务和myquery类上使用service knowntype和knowntype属性,但没有用。