我有一个接受并返回自定义类的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,这是完全相同的。这可能吗?
答案 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项目)背后的驱动力之一。