Web服务中的方法重载

时间:2011-04-16 19:32:26

标签: c# asp.net web-services

我有2个与网络服务有关的问题。

  1. 我们如何在Web服务中实现方法重载。
  2. 如何在Web服务中实现安全性(身份验证)。

2 个答案:

答案 0 :(得分:7)

  

我们如何在Web服务中实现方法重载。

如果您使用的是SOAP,则不能。方法名称在导出的WSDL中必须具有唯一的名称。根据您使用的技术,有不同的方法来指定方法名称。例如,在WCF中,您可以使用[OperationContract]属性指定名称:

[ServiceContract]
public interface IMyService
{
    [OperationContract(Name = "Foo")]
    void Foo();

    [OperationContract(Name = "FooWithId")]
    void Foo(int id);
}
  

如何在Web服务中实现安全性(身份验证)。

following guide是在WCF中实现安全性的一个很好的开端。

答案 1 :(得分:3)

好的超载:

[WebMethod(MessageName = "MaxInt", Description = "Compare two int values 
and return the max value", EnableSession = true)]
public int MaxValue(int a, int b)
{
   return (a > b ? a : b);
}
[WebMethod(MessageName = "MaxFloat", Description = "Compare two float values 
and return the max value", EnableSession = true)]
public float MaxValue(float a, float b)
{
   return (a > b ? a : b);
}

你的意思是什么?显然,您可以使用验证密钥来访问Web服务。问题很混乱。请详细说明。