0

私はこのような方法を持っています

<OperationContract()>
<Web.WebGet(UriTemplate:="/GetBedTypeList?strErrMsg={strErrMsg}&chrErrFlg={chrErrFlg}&pcompanycode={pcompanycode}&pdiv={pdiv}&ploc={ploc}", ResponseFormat:=WebMessageFormat.Json, BodyStyle:=WebMessageBodyStyle.Wrapped)> _
Function GetBedTypeList(ByRef strErrMsg As System.Collections.Generic.List(Of String), ByRef chrErrFlg As Char, _
                        ByVal pcompanycode As String,ByVal pdiv As Integer, _
                        ByVal ploc As Integer) As System.Collections.Generic.List(Of CWReadClasses.clsBedTypeMaster)

しかし、それはエラーを出しています助けてください

コントラクト 'iBedTypeMaster' の操作 'GetBedTypeList' には、タイプ 'System.Collections.Generic.List 1[System.String]', but type 'System.Collections.Generic.List1[System.String]' の 'strErrMsg' という名前のクエリ変数があり、'QueryStringConverter' では変換できません。UriTemplate クエリ値の変数には、'QueryStringConverter' で変換できる型が必要です。

4

1 に答える 1

0

エラーが示すように、WCF は既定では、クエリ文字列パラメーター (文字列) を引数List(Of String)の型であるに変換する方法を認識していません。strErrMsg既知の型 (文字列、数値、ブール値) に変更するか、エラーが示すようにQueryStringConverter、サービスに を追加して、クエリ文字列からその型に変換する方法を「教える」ことができます。クエリ文字列コンバーターの詳細については、http://blogs.msdn.com/b/carlosfigueira/archive/2011/08/09/wcf-extensibility-querystringconverter.aspxの投稿を参照してください。

于 2013-07-10T17:47:12.227 に答える