У меня есть исключение, когда я хочу отправить сеанс devExpress в составном типе в WCF. Я пытался сделать его сериализуемым, но все равно получаю ошибку
информация: Тип
System.Data.SqlClient.SqlConnection
с именем контракта данныхSqlConnection:http://schemas.datacontract.org/2004/07/System.Data.SqlClient
не ожидается. Рассмотрите возможность использованияDataContractResolver
, если вы используетеDataContractSerializer
, или добавьте какие-либо типы, которые не известны статически, в список известных типов — например, с помощью атрибута KnownTypeAttribute или путем добавления их в список известных типов, передаваемых сериализатору.
Это DataContract, который я использовал.
[DataContract]
[Serializable]
[ServiceKnownType(typeof(Session))]
[ServiceKnownType(typeof(SqlConnection))]
[ServiceKnownType(typeof(SqlParameter))]
public class CompositeType
{
Session sValue ;
[DataMember]
public Session SessionValue
{ get {return sValue; } set {sValue = value; } }
}
Я также использую метод, который отправляет этот класс в качестве параметра
void GetDataUsingDataContract(CompositeType composite);
[DataContract] [Serializable] [ServiceKnownType(typeof(Session))] [ServiceKnownType(typeof(SqlConnection))] [ServiceKnownType(typeof(SqlParameter))] public class CompositeType { Session sValue ; [DataMember] public Session SessionValue { get {return sValue; } set {sValue = value; } } }
Это DataContract, который я использовал. Я также использую метод, который отправляет этот класс в качестве параметра `void GetDataUsingDataContract(CompositeType Composite); ` - person Nouha   schedule 23.03.2020