2011-07-07 9 views
1

Visual Basicでasmx Webサービスを作成していますが、wsdlを使用してWebサービスの呼び出し元が利用できるenumをWebサービスに追加したいと考えています。しかし、どうすればそれができますか?私はWebサービスクラスでenumを書いていますが、wsdlには公開されていません。私は既にこの種のものをC#を使ってうまくやったことがありますが、VBでどのように行われているのか分かりません。asmx Webサービスでenumを使用する方法

+0

どのような技術を使用していますか? WCF? Asp.Net(ASMX)? –

+0

VB.NETではC#と同じです。あなたが抱えている正確な問題は何ですか? –

答えて

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 

であるあなたが列挙型のプロパティを含むクラスを持っている場合、メソッドはクラスを公開する必要があります基本的には、クライアントアプリケーションであなたの列挙型を認識させるためにできることですが、これらの「露出」メソッドのアプローチを避けるために、まず契約を生成するようなことをすることがあります。

+1

クイックネスありがとう! –

+2

これは列挙型メンバを公開しますが、それらの整数型の値は公開しないことに注意してください(ただし、 –