WCFサービスを使用してWebアプリケーションを開発しています。サービスを作成してクライアントアプリケーションでそのサービスを使用しました。 txtファイルをアップロードした後filedsに一致パラメータhttp://tempuri.org/:labelをシリアル化しようとしたときにエラーが発生しました
は、私はパラメータhttp://tempuri.org/:lblHideをシリアル化しようとしているときにエラーが発生しましたクライアントページで
を、次のエラーを取得しています。 InnerExceptionメッセージが 'ASP.WCFApp_aspx'型のデータ コントラクト名 'WCFApp_aspx:http://schemas.datacontract.org/2004/07/ASP'であるとは限りません。 DataContractResolverの使用を検討するか、または既知のタイプのリストに静的に知られているタイプ(例えば、KnownTypeAttribute属性を使用するか、 DataContractSerializerに渡される既知のタイプのリストに追加するなど)を知らないタイプを追加してください。詳細については、InnerExceptionを参照してください。 ---> System.Runtime.Serialization.SerializationException: 'ASP.WCFApp_aspx'を入力してください。データ契約名が 'WCFApp_aspx://schemas.datacontract.org/2004/07/ASP'であるとは限りません。 DataContractResolverの使用を検討するか、または既知のタイプのリストに静的に知られていないタイプの を追加します。たとえば、KnownTypeAttribute属性を使用するか、DataContractSerializerに渡される既知のタイプのリスト に追加します。
参照してください以下のコード、 WCFService.cs:
[OperationContract]
[ServiceKnownType(typeof(string))]
[ServiceKnownType(typeof(List<string>[]))]
string KeyFieldsMatch(List<string>[] lst, Label lblHide, string strConn);
IWCFService.svc.cs:
public class WCFService: IWCFService
{
public string KeyFieldsMatch(List<string>[] lst, Label lblHide, string strConn)
{
try
{
return objBAL.KeyFieldsMatch(lst, lblHide, strConn);
}
catch
{
throw new FaultException("Error....");
}
}
}
クライアント:
WCFService.WCFServiceClient objBAL = new WCFService.WCFServiceClient();
protected void btnSubmit_Click(object sender, EventArgs e)
{
List<string>[] list = new List<string>[2]
string[][] lst = new string[2][];
lst = list.Select(a => a.ToArray()).ToArray();
string KeyFieldsMatch =string.empty;
KeyFieldsMatch = objBAL.KeyFieldsMatch(lst, lblHide, strConn);--Error coming at this location.
}
basicHttpBindingを使用しています
助けていただければ幸いです。