【问题标题】:What is the equivalent of @WebParam in .NET WebMethods?.NET WebMethods 中的 @WebParam 等价物是什么?
【发布时间】:2013-03-15 18:49:14
【问题描述】:

我有一个这样定义的 Java JWS WebService:

@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)
    {
        ...
    }
}

应该用什么代替/* ??? */?我找不到这方面的文档。

【问题讨论】:

  • ASMX 是一项遗留技术,不应用于新开发。 WCF 应该用于 Web 服务客户端和服务器的所有新开发。一个提示:微软已经在 MSDN 上停用了ASMX Forum
  • 你真的需要一个不同的参数名称吗?如果您使用相同的内部和外部名称,您的代码就可以工作..
  • @John Saunders,是的,这是我正在进行的遗留项目。
  • @Luis Tellez,是的,我需要在 C# 中定义一个名称为关键字的参数。

标签: .net web-services asmx webmethod


【解决方案1】:

相信你可能在找[XmlElement]:

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

【讨论】:

    【解决方案2】:

    是的,我需要在 C# 中定义一个名称为关键字的参数

    @ 符号将允许您使用 c# 的保留字

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-02
      • 1970-01-01
      • 1970-01-01
      • 2011-06-05
      • 2014-06-29
      • 2011-10-13
      • 2011-03-23
      相关资源
      最近更新 更多