Visual Basicでasmx Webサービスを作成していますが、wsdlを使用してWebサービスの呼び出し元が利用できるenumをWebサービスに追加したいと考えています。しかし、どうすればそれができますか?私はWebサービスクラスでenumを書いていますが、wsdlには公開されていません。私は既にこの種のものをC#を使ってうまくやったことがありますが、VBでどのように行われているのか分かりません。asmx Webサービスでenumを使用する方法
1
A
答えて
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
これは列挙型メンバを公開しますが、それらの整数型の値は公開しないことに注意してください(ただし、 –
どのような技術を使用していますか? WCF? Asp.Net(ASMX)? –
VB.NETではC#と同じです。あなたが抱えている正確な問題は何ですか? –