开发者

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#.

开发者_如何学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.


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  {

}


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


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


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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜