2

这是来自这里的后续问题:关于我收到的答案的创建关系的 linq 问题。我不确定发生了什么,但我收到一个错误:

The underlying connection was closed: An unexpected error occurred on a receive.

这就是异常发生的地方:

    string uriGroup = "http://localhost:8000/Service/Group";
    private void ListGroups_Click(object sender, RoutedEventArgs e)
    {
        XDocument xDoc = XDocument.Load(uriGroup); // this line
        var groups = xDoc.Descendants("Group")
            .Select(n => new
            {
                GroupName = n.Element("GroupName").Value,
                GroupHeader = n.Element("GroupHeader").Value,
                TimeCreated = DateTime.Parse(n.Element("TimeAdded").Value),
                Tags = n.Element("Tags").Value, 
                Messages = n.Element("GroupMessages").Value
            })
            .ToList();

        dataGrid2.ItemsSource = groups;
    }
4

1 回答 1

10

由于您要返回一个List对象,因此您可能已经超过了MaxItemsInObjectGraph。您可以通过修改 web.config(或 app.config)来增加该值:

<behaviors>
    <behavior>
        <dataContractSerializer maxItemsInObjectGraph="6553600" />
    </behavior>
</behaviors>

您可能还需要考虑查看常见的嫌疑人:

  • <readerquota>价值观
  • MaxReceivedMessageSize
  • 最大缓冲区大小
  • 最大缓冲池大小

您应该启用WCF 跟踪,因为它将包含更详细的错误。是的,这甚至适用于自托管应用程序。

于 2012-04-27T08:24:19.370 回答