Как использовать enum в веб-сервисе asmx - PullRequest
1 голос
/ 07 июля 2011

Я пишу веб-сервис asmx на Visual Basic, и я хотел бы добавить в свой веб-сервис перечисление, которое должно быть доступно для вызывающих веб-сервисов через wsdl. Но как это можно сделать? Я пишу свое перечисление в классе веб-службы, но оно не публикуется в wsdl. Я уже делал подобные вещи успешно, используя C #, но я не могу понять, как это делается в VB.

1 Ответ

2 голосов
/ 07 июля 2011

Вы не можете только создать enum, вы должны создать метод, который предоставляет клиенту существование этого 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

Другой подход будет представлять только тип Enum:

     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

Это в основном то, что вы могли бы сделать, чтобы клиентские приложения распознавали ваше перечисление, однако вы можете сначала сделать что-то вроде генерации контракта, чтобы избежать применения метода «разоблачения».

...