Service Contract'da servisin kuracağı mesajlaşma şekli (Message Exchange Pattern) tanımlanır. Request/Reply,One-Way,Duplex olarak tanımlama yapılabilir.
Örnek olarak bir öğrenci sınıfımız olsun. Bu sınıfta Ad ve Soyad propertyleri tanımlayalım. Öğrenci numarasına göre Ad ve Soyad'ı birlikte döndüren bir fonksiyonumuz olsun:
class Ogrenci
{
int no;
string Ad;
string Soyad;
public string OgrenciGetir(int no)
{
return Ad+" "+Soyad;
}
}
Bu sınıfı servis olarak kullanabilmek için bir interface tanımlarız. Interface'i Servis olarak kullanacağımızı belirtmek için interface'in başına ServiceContract attribute'unu ekleriz. Peki, bu sınıfta hangi metodları kullanacağımızı serviste nasıl belirteceğiz? O metodların başına OperationContract attribute'unu koyarak:
[ServiceContract]
interface IOgrenci
{
[OperationContract]
public string OgrenciGetir(int no)
}
Artık Sınıfımızın servis olarak kullanılabilmesi için tek yapmamız gereken bu interface'i implement etmek.
class Ogrenci:IOgrenci
{
int no;
string Ad;
string Soyad;
public string OgrenciGetir(int no)
{
return Ad+" "+Soyad;
}
}
No comments:
Post a Comment