在Web服务中使用本地类

时间:2010-07-29 12:23:16

标签: .net web-services

我有一个接受并返回自定义类的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,这是完全相同的。这可能吗?

2 个答案:

答案 0 :(得分:0)

与以下内容有何不同:

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

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

答案 1 :(得分:0)

如果我理解你在问什么,之前就有人问过:

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

虽然那个家伙也发现它之前也被问过。也许这个很难让SO解析建议:)

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