上传到服务器主机时无法调用webservice

时间:2014-08-07 14:47:40

标签: c# asp.net .net web-services

请帮助我解决有关网络服务的问题:

“服务器无法处理请求.---&gt;生成XML文档时出错.---&gt;序列化WebserviceLicenseKey.License_PaymentInfo类型的对象时检测到循环引用。”< /强>

当我使用localhost和webservice时,这是好的。但是,当我将其更新到无法获取数据并引发错误的服务器主机时。

这是我在webservice中的代码,我使用了dbml

**[WebMethod]
        [SoapDocumentMethod(Binding = "LicenseKeyService")]
        [SoapHeader("UserAccount", Required = true)]
        public List<License_PriceDayInfo> GetAllPriceDayInfo()
        {
            if (!CheckUserAccount())
                return null;
            return _context.License_PriceDayInfos.ToList();
        }**

并在客户端调用webservice并获取数据:

  **_userCredentials.UserName = "abc";
                _userCredentials.Password = "123456";
                _licenseWs.UserCredentialsValue = _userCredentials;
               var a = _licenseWs.GetAllPaymentInfo().ToList();**

请帮帮我!!!

非常感谢!

1 个答案:

答案 0 :(得分:0)

在您的数据合同中,您可能拥有某种类型的属性,该属性具有返回其父级的属性。默认情况下,序列化程序无法处理此问题,因为它会导致永无止境的序列化。

要解决此问题,您可以使用拼合数据合同而不是分层数据合同,这样您就不会得到这种关系(推荐),或者在数据协定属性上使用IsReference property。请参见示例here