Rohit Raghuvansi
Rohit Raghuvansi

Reputation: 2864

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.

Upvotes: 4

Views: 8175

Answers (4)

kemiller2002
kemiller2002

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

Zenuka
Zenuka

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

leppie
leppie

Reputation: 117280

I guess you can if you expose them as different external names (if that is possible).

Upvotes: 1

BobbyShaftoe
BobbyShaftoe

Reputation: 28499

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

Upvotes: 2

Related Questions