私は操作契約を持つWCFサービスを持っていました
void AddQuery(IQuery Query);
私のIQueryはこのようなものです
public interface IQuery
{
Guid Id { get; set; }
string QueryNo { get; set; }
string Status { get; set; }
IData data { get; set; }
}
そしてIQueryの実装は
[Serializable]
public class Query : IQuery
{
Guid Id { get; set; }
string QueryNo { get; set; }
string Status { get; set; }
IData data { get; set; }
}
クライアントからオブジェクトを送信しようとしているとき
public void AddQuery(IQuery query)
{
try
{
// I am sure that the query object is not null and it is implemented
objServiceClient.AddEnquiry(query);
}
catch (Exception ex)
{
}
}
しかし、私は例外を取得しています
パラメータ のシリアライズ中にエラーが発生しました。InnerException メッセージは、「タイプ 'ViewModels.Query' データ コントラクト名 'Query: http://schemas.datacontract.org/2004/07/ViewModels ' は想定されていません」でした。DataContractResolver の使用を検討するか、既知の型のリストに静的に認識されていない型を追加します。たとえば、KnownTypeAttribute 属性を使用するか、DataContractSerializer に渡される既知の型のリストにそれらを追加します。詳細については、InnerException を参照してください。
このエラーの解決策を教えてください。