无法将复杂类型发送到WCF服务?

时间:2014-11-10 13:17:53

标签: c# wcf datacontract monomac

我在专用服务器上的IIS上运行了一个有效的C#Web服务。有一种方法可以获得Session对象(DataContract)及其在Windows客户端上的测试和工作。但是现在我正在开发一个“Xamarin.Mac”应用程序,我需要连接到服务器,但我遇到了一个特定的错误。

[DataContract]
public class Session{

    [DataMember]
    public string Email { get; set; }
    [DataMember]
    public string Password { get; set; }
    [DataMember]
    public string ComputerHash { get; set; }
    [DataMember]
    public string Ip { get; set; }
}

这是我要发送的Session课程。

[OperationContract]
bool Login ( Session session );

这就是我打电话的方法。

但是当我调试时,我检查了我的Session对象已填充且值已设置。但是服务器获取Session对象,但该对象的所有字段都设置为null。因此它给了我null异常。

有趣的是,非复杂的对象被发送没有任何问题,但这些复杂的类型让我感到头痛。

我可能在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

这取决于您提出请求的方式。你需要"发布"数据到服务器。数据需要在消息正文中定义,而不是请求URL中的参数。