简体   繁体   中英

can there be 2 webmethods with same name inside a web service in c#

I was asked a question in interview

can there be 2 webmethods with same name inside a web service in c#.

With function overloading it is possible but interviewer wanted an answer without using function overloading.

My answer was No. IS it correct.Please comment.

Actually, it is possible with a little bit of work. The key is changing the message name:

(taken from the link below)

[WebMethod(MessageName="Add_TwoNumbers")]

http://scottwhite.blogspot.com/2005/09/overloading-web-service-methods-in-net.html

It can be done as you can read here: http://www.codeproject.com/KB/webservices/OverloadingInWebService.aspx

The reason why you need to do this "special" stuff is just because WSDL does't support the same method names...

Edit: I see the link forgot about the WebServiceBinding:

[WebService(Namespace = "http://tempuri.org/")] 
[WebServiceBinding(ConformsTo = WsiProfiles.None)]
public class TestService : System.Web.Services.WebService  {

}

No, you can't have two methods with the same name and same signature. That doesn't make much sense.

如果你把它们暴露为不同的外部名称(如果可能的话),我想你可以。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM