2011-04-16 40 views
5

我有2個與Web服務相關的問題。Web服務中的方法重載

  1. 我們如何在Web服務中實現方法重載。
  2. 如何在Web服務中實現安全性(身份驗證)。
+1

可能重複[是否有可能重載webservices中的方法?](http://stackoverflow.com/questions/3043500/is-it-possible-to-overload-a-method-in-webservices) – 2011-04-16 19:36:17

+4

請不要混合問題。你的第一個問題是一個確切的副本(當你輸入這個問題標題時,在搜索結果中顯示出來......),第二個問題與第一個問題無關。 – 2011-04-16 19:36:46

+3

根本不應該使用ASP.NET Web服務(ASMX)。所有新的Web服務開發都應該使用WCF。 – 2011-04-16 19:39:14

回答

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服務。問題很混亂。請詳細說明。

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中實現安全性的一個非常好的開始。

+0

當我不使用SOAP在那種情況下,我怎麼可以存檔方法重載? – Vijjendra 2011-04-16 19:37:53

+0

@Vijjendra,你在用什麼? – 2011-04-16 19:39:05

+0

我已經看到,在下面的鏈接..我們可以在web服務中實現重載。但你說沒有..這就是爲什麼我問http://stackoverflow.com/questions/3043500/is-it-possible-to-overload-a-method-in-webservices – Vijjendra 2011-04-16 19:47:36