2013-03-15 44 views
2

我有這樣定義一個Java JWS的WebService:.NET WebMethods中@WebParam的等價物是什麼?

@WebService 
public class Foo 
{ 
    @WebMethod 
    public int foo(@WebParam(name = "externalName") String internalName) 
    { 
     ... 
    } 
} 

這在C#.NET等效似乎

[WebService] 
public class Foo : System.Web.Services.WebService 
{ 
    [WebMethod] 
    public int foo(/* ??? */ string internalName) 
    { 
     ... 
    } 
} 

我應該在/* ??? */的地方去?我無法找到關於此的文檔。

+0

ASMX是一項傳統技術,而sh不能用於新開發。 WCF應該用於Web服務客戶端和服務器的所有新開發。一個暗示:微軟已經在MSDN上退役了[ASMX Forum](http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/threads)。 – 2013-03-15 18:55:05

+0

你真的需要參數的不同名稱嗎?如果你使用相同的內部和外部名稱,你的代碼工作。 – 2013-03-15 18:56:10

+0

@John Saunders,是的,這是我正在開發的遺留項目。 – jameshfisher 2013-03-15 19:00:29

回答

1

我相信你可能會尋找[XmlElement]

[WebMethod] 
public int foo([XmlElement("externalName")] string internalName) 
{ 
    ... 
} 
1

是的,我需要定義與在C#中的關鍵字

@符號將允許你一個名稱的參數使用保留字c#

[WebMethod] 
public int foo(int @int) 
{ 
    @int += 2; 
    ... 
} 
相關問題