Reputation: 2864
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.
Upvotes: 4
Views: 8175
Reputation: 115518
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
Upvotes: 3
Reputation: 3250
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 {
}
Upvotes: 3
Reputation: 117280
I guess you can if you expose them as different external names (if that is possible).
Upvotes: 1
Reputation: 28499
No, you can't have two methods with the same name and same signature. That doesn't make much sense.
Upvotes: 2