2013-10-25 60 views
0

我在我的机器上运行了WCF service为什么我的对象从WCF服务中返回null

[DataContract]在课前添加 [DataMember]在每个班级成员之前添加。

我没有在课程属性前添加[DataMember]

[OperationContract] added before service interface: 

    [OperationContract] 
    MyObject GetMyObject(); 

和服务实现:

public MyObject GetXmlFile() 
{ 
    // Bla bla 
    MyObject obj = new MyObject(); 
    MyObject obj = obj.GetAll(); 
    return obj; 
} 

当用调试器检查这个我可以看到,对象MyObject obj.GetAll(); 成功创建但之后在主程序它返回null。

这是怎么了回我的类对象:

public MyObject GetAll() 
{ 
    _xmlPath = xmlPath; 
    _xml = new XmlDocument(); 
    _xml.Load(xmlPath); 
    GetFirstAttributes(); // Fill up my object with details from XML file 
    GetSecondAttributes(); // Fill up my object with details from XML file 
    return this; 
} 

主营:

 Uri uri = new Uri("http://" + ip + ":8733/MyService"); 
     ServiceReference1.XMLServiceClient service = new ServiceReference1.XMLServiceClient(); 
     service.Endpoint.Address = new EndpointAddress(uri); 
     ServiceReference1.MyObject xml = service.GetXmlFile(); 
+0

什么,您在加载数据成员?数据成员中的对象是在代码中创建的还是从json/xml/server加载的? –

+0

你是什么意思? – user1860934

+0

该行:'MyObject obj.GetAll();'没有任何意义。它不会编译。请显示您的真实代码。 –

回答

0

您必须设置OperationContract特性上你的方法GetXmlFile

+0

你能告诉我如何做到这一点? – user1860934

+0

我无法发布代码 –