WebMethod Attribute Parametreleri

[WebMethod] Attribute Parametreleri

ASP.NET’ ile web servisleri geliştirilirken karşılaşılan [WebMethod] isimli attribute’ün parametreleri ve anlamları.

BufferResponse: Bool türdeki bu property söz konusu web metottan elde edilen çıktının yani response’un buffer’lanıp buffer’lanmayacağını belirler. Default değeri true dur ve ASP.net runtime’ı 16KB lık parçalar halinde çıktıyı buffer lar. Normal şartlarda programcının bu property i değiştirmemesi gerekir. Yani buffer lama performansı arttırmaktadır. Ancak eğer görece büyük miktarda bir response söz konusuysa ve aynı anda fazlaca kullanıcı bu web metodu kullanıyorsa üstelik web server in bellek yetersizliği varsa ancak o zaman false yapılması anlamlı olabilir.

CacheDuration: Default değeri 0 olan bu parametre web metotdan elde edilen çıktının ne kadar süre ile saniye cinsinden cache’leneceğini ifade eder. Şüphesiz böyle bir cache’leme parametreli olan web metotlar için her bir parametre değerinin dikkate alınarak üretilen çıktıları için ayrı ayrı cache leme yapacaktır.

MessageName: Web servislerinde overload edilmiş fonksiyonlar olabilir. Bu durumda SOAP mesajında metotlara takma isimler MessageName özelliğine atama yapılarak verilebilir. Yalnız şöyle bir detay vardır. MessageName ile ayrıştırma yapabilmek için service sınıfının metadata sındaki WebServiceBinding attribute ile oluşturulan WsiProfile sınamasını None değerine atayıp iptal etmek gerekir.

Web Servislerinde Session Kullanımı : Remoting ile değil de ASP.net ile Web Service geliştiriliyorsa aynı ASP.Net uygulamalarında olduğu gibi web servislerde de Session kullanılabilir (Hatta web.config de yapılan işlemler aynen burada da yapılabilir). Ancak her bir web metot için varsayılan durumda Session a erişim engellenmiştir. Şayet bir web metot içerisinde Session a erişilecekse o metodun başında kullanılan web metot attribute ında EnableSession = true belirlemesini yapmak gerekir.

TransactionOption: Bu property ise o web metodun şayet bir com+ transaction ına katılması söz konusu ise nasıl davranacağını belirlemeye yarar. Bu property atanacak değer System.EnterpriceServices namespace indeki aynı isimli enum ın sabitlerinden biri ile set edilir.

Reklamlar