آشنایی با KnownTypeAttribute در WCF
نویسنده: مسعود پاکدل
تاریخ: ۱۳۹۲/۰۳/۱۱ ۰:۴۰
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
[DataContract]
public abstract class Person
{
[DataMember]
public int Code { get; set; }
[DataMember]
public string Name { get; set; }
}
[DataContract]
public class Student : Person
{
[DataMember]
public int StudentId { get; set; }
}[DataContract]
public class Teacher : Person
{
public int TeacherId { get; set; }
}[ServiceContract]
public interface IStudentService
{
[OperationContract]
IEnumerable<Person> GetAll();
} public class StudentService : IStudentService
{
public IEnumerable<Person> GetAll()
{
List<Person> listOfPerson = new List<Person>();
listOfPerson.Add( new Student() { Code = 1, StudentId = 123, Name = "Masoud Pakdel" } );
listOfPerson.Add( new Student() { Code = 1, StudentId = 123, Name = "Mostafa Asgari"} );
listOfPerson.Add( new Student() { Code = 1, StudentId = 123, Name = "Saeed Alizadeh"} );
listOfPerson.Add( new Teacher() { Code = 1, TeacherId = 321, Name = "Mahdi Rad"} );
listOfPerson.Add( new Teacher() { Code = 1, TeacherId = 321, Name = "Mohammad Heydari" } );
listOfPerson.Add( new Teacher() { Code = 1, TeacherId = 321, Name = "Saeed Khatami"} );
return listOfPerson;
} class Program
{
static void Main( string[] args )
{
StudentService.StudentServiceClient client = new StudentService.StudentServiceClient();
client.GetAll().ToList().ForEach( _record =>
{
Console.Write( "Name : {0}", _record.Name );
Console.WriteLine( "Code : {0}", _record.Code );
} );
Console.ReadLine();
}
} [DataContract]
[KnownType( typeof( Student ) )]
[KnownType( typeof(Teacher) )]
public abstract class Person
{
[DataMember]
public int Code { get; set; }
[DataMember]
public string Name { get; set; }
}ترجمه این مطلب در code project به تاریخ 4 Jun که میشه دیروز البته
What is KnownType Attribute and How to Use It in WCF Technology