Kasım
16
2011

.net Web Service`de Overload Methodlar [c#]

webservice

 

Webservice oluştururken normal yollardan direkt overload method oluşturmamız mümkün olmamaktadır. Farklı method isimleri kullanmak ise yapıyı karıştırma ve gereksiz method sayısını arttırmak demek olacak ve overload methodlardan vazgeçmemize neden olacağı için saçma olacaktır.

Webservice’de webmethod lara MessageName attribute’ü ekleyerek overload oluşturmamız mümkün.

 

[WebMethod(MessageName = "CreateUser", 
Description = "Yeni kullanıcı yarat.")] 
public string CreateUser(string username, string password) 
{ 
            
}

 

 

 

[WebMethod(MessageName = "CreateUserWithSecurityQuestionAndAnswer", 
Description = "Yeni kullanıcı yarat. Security Question ve Answer gerektiriyor ise.")] 
public string CreateUser(string username, string password, string securityquestion, string securityanswer) 
{ 

}

 

 

Yukarıdaki örneği incelediğiniz method isimlerinin aynı ve farklı parametler aldığını göreceksiniz. MessageName attribute’ü farklı değerlerde olmak zorunda. Bu sayede .net kendisi farklı olarak ayırt edebilecek.

Son olarak Webservice class’ımızda tanımlanan attributeslerde aşağıdaki satırdaki BasicProfile1_1 profilini None olarak değiştiriyoruz.

 

Standart

 

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

 

 

 

Değişiklik sonrası

 

[WebServiceBinding(ConformsTo = WsiProfiles.None)]

 

 

Artık dana yönetilebilir ve sürdürülebilir webservice class’ınız var.


Yorum ekle




biuquote
  • Yorum
  • Canlı önizleme
Loading