我对Web Services很陌生。我用这样的类创建了一个Web服务:
public class ClassA
{
private ClassB _varA;
public ClassB VarA
{
get {
if(_varA == null)
_varA = new ClassB();
return _varA;
}
set { _varA = value; }
}
}
当我尝试从网站访问该属性时,它会给我null。
using WebServiceA;
ClassA obj = new ClassA();
obj.VarA // gives me null ?
我在这里遗漏了什么吗?请帮忙。感谢。
答案 0 :(得分:4)
当您通过Web服务发送对象时,实际的功能不会附带它,只有属性值(所以示例中的get实际上不会发生在客户端)。相反,它会创建同一对象的“模拟”类型版本。
我想我会在这个编辑中澄清:
当您连接到返回对象的Web服务时,它实际上只返回该对象的XML表示形式。此XML表示仅包含序列化的数据(方法取决于设置,在普通的Web服务中,它通常只是一个XML序列化程序),因此不包含任何函数或属性定义。
所以,这个例子中的类是:
public class ClassA
{
public ClassB VarA
{
get;
set;
}
}
另外:FredrikMörk说它是correclty,它叫做'Proxy'对象,而不是模拟对象,我想不到这个词。
答案 1 :(得分:0)
B类是否在webservice的项目中实现?