我正在使用visual basic编写一个asmx web服务,我想在我的Web服务中添加一个enum,它应该通过wsdl提供给Web服务的调用者。但是怎么办呢?我在web服务类中编写我的枚举,但它没有在wsdl中发布。我已经使用C#成功完成了这种事情,但我无法理解在VB中是如何完成的。
答案 0 :(得分:2)
您不仅可以创建枚举,还必须创建一个方法,将该Enum的存在暴露给客户端。也就是说:如果你有一个包含Enum类型属性的类,该方法应该公开类:
Public Class MyClassType
Public Enum MyEnum
Value1, Value2
End Enum
End Class
<WebMethod()> _
Public Sub ExposeTypes(MyObject As MyClassType)
'This will make the client recognize it will receive a class (complex type) with the enum property
End Sub
另一种方法是仅暴露枚举类型:
Public Enum MyEnum
Value1, Value2
End Enum
<WebMethod()> _
Public Sub ExposeTypes(enum As MyEnum)
'This will make the client recognize it will receive a simple type
End Sub
这基本上是你可以做的,让客户端应用识别你的枚举,但你可能会做一些事情,比如首先生成合同,以避免这些“暴露”方法的方法。