【问题标题】:Using local class in web service在 Web 服务中使用本地类
【发布时间】:2010-07-29 12:23:16
【问题描述】:

我有一个接受并返回自定义类的 Web 服务。问题是调用web服务方法的Form需要实例化webservice.myClass而不是myClass的本地副本?例如:

**myservice:**
class myclass
{
...
}

class myservice
{
[WebMethod]
public void mymethod(myclass cls)
{
cls.xxx = yyy;
returns cls
}
}

**caller form:**
class myclass
{
...
}

class caller
{
private void call()
{
myservice.myclass cls = new myservice.myclass(); //<-------------------
cls = myservice.mymethod(cls);
}
}

它需要myservice.myclass,我想使用本地的myclass,这完全一样。这可能吗?

【问题讨论】:

    标签: .net web-services


    【解决方案1】:

    如果我明白你在问什么,之前有人问过这个问题:

    Force .NET webservice to use local object class, not proxy class

    虽然那家伙也发现在那之前也有人问过。也许这对 SO 来说很难在建议中解析:)

    相信我,这已经在整个互联网上被问很多次了。这是我对如何在 .NET 和 Visual Studio 中处理经典 Web 服务的最大抱怨之一,也是我切换到请求/响应服务(以及 Agatha 项目)背后的驱动力之一。

    【讨论】:

      【解决方案2】:

      与以下有何不同:

      class caller
      {
          private void call()
          {
              local.myclass cls = new myservice.myclass(); //<-------------------
              cls = myservice.mymethod(cls);
          }
      }
      

      具体需求是什么?实例化始终是本地的。如果需要保留实例,可以将其作为输出参数传递。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-03-23
        • 1970-01-01
        • 2016-01-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-25
        相关资源
        最近更新 更多