metod overloading c#,webservis metod overload kullanımı , method overloading in web services , Yöntemler için benzersiz ileti adları belirlemek üzere WebMethod özel özniteliğinin MessageName özelliğini kullanın hatası

Merhaba,

Webmethodlarda metod overload  yapmaya çalışıyorsunuz ama sürekli

“Yöntemler için benzersiz ileti adları belirlemek üzere WebMethod özel özniteliğinin MessageName özelliğini kullanın.”

şeklinde hata alıyorsanız , ufak bir düzeltmeyle bu hatadan kurtulmanız mümkün olacaktır.

 

öncelikle yazdığınız class altında bulunan  aynı isimdeki metodlara messagename property’si ekleyelim.

[WebMethod(MessageName  = “Teklif”)]

public int GetSomethig(int a,int b)

[WebMethod(MessageName  = “Teklif2”)]

public int GetSomethig(int a,int b)

 

sonrasında

hizmeti WS-I Temel Profil v1.1 ile uyumlu değil. Lütfen aşağıdaki örnek oluşturan deyim ihlallerini inceleyin. Uyumluluk denetimini kapatmak için karşılık gelen WebServiceBinding özniteliğindeki ConformanceClaims özelliğini WsiClaims.None olarak ayarlayın.
R2304: Profil, wsdl:portType içinde işlem adı fazla yüklemesine izin vermez. Bir AÇIKLAMADAKİ wsdl:portType öğesinde ad öznitelikleri için farklı değerlere sahip işlemler olmalıdır. Bu gereksinimin verilen bir wsdl:portType öğesinde yalnızca wsdl:operations öğesi için geçerli olduğuna dikkat edin. Bir wsdl:portType öğesinde, diğer wsdl:portTypes öğelerindekilerle aynı ada sahip wsdl:operations öğeleri bulunabilir.”

 

gibi bir hata almanız muhtemeldir,bunun çözümü için ;

 

metodların bulunduğu classın altında bulunması muhtemele olan;

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

satırı

[WebServiceBinding(ConformsTo = WsiProfiles.None)] şekline getirip projeyi derleyip çalıştıralım.

 

Proje ayağa kalkmış olacaktır,

Sağlıcakla.

 

Oğuz ALTUNTAŞ © 2017

error: Oğuz ALTUNTAŞ © 2020