【问题标题】:Get request length to fix "Maximum request length excedded"获取请求长度以修复“超出最大请求长度”
【发布时间】:2021-05-02 06:53:26
【问题描述】:

我正在处理我的 .NET 应用程序的问题。我正在调用 Web 服务来与我的数据库进行交互。但我有一个问题。

我正在通过我的 Web 服务上的列表发送 XML 内容。但是一旦我调用它,它就会由于错误而立即停止。我试图减少列表长度。它适用于我的前 2 个列表,但不适用于最后一个。

一开始,我有一个类的 43k 个对象的列表。我意识到这对我的网络服务来说太多了。

' ListOfElements is a List(Of List(Of T))
Dim addedObject as New List(Of T)
For Each element As List(Of T) In ListOfElements
    ' ListOfElements contains 5 List(Of T)
    ' element contains 7.5k T object
    WS.InsertInDb(element, addedObject)
Next

因此,我代替它,将该列表切割成一个类的 10k 个对象的子列表。它正在工作,但在第三次通话后不再有效。我尝试将其减少到 7.5k,一直工作到第四次通话。

您知道我如何获取我的请求长度,以便更好地了解它发送到我的网络服务的内容吗?

因为有一天,它起作用了,后天就不行了。

【问题讨论】:

  • 网络服务的最大请求长度限制是多少?您可以同时控制 .NET 应用程序和 Web 服务吗?
  • 最大请求长度默认为1。我确实可以访问两者,但我无法编辑 Web 服务的 web.config。这就是为什么我必须只在 .NET 应用程序上工作
  • 不清楚什么是网络服务?假设它是 WCF 那么它应该是 4096 kb 吗?它也可以限制在IIS。您是否尝试过将请求长度限制为 4096 kb ?
  • 请编辑问题并显示代码以及您如何检查应用程序的请求长度,根据这些 cmets 无法猜测发生了什么。
  • 如果这是带有 SOAP 的 ASMX 并在 VS 中使用旧版添加服务,则更容易捕获异常,然后关闭连接并重新打开它,冲洗并重复,直到所有内容都发送完毕。

标签: .net xml vb.net


【解决方案1】:

我找到了超出大小的地方。

在发送到 WS 的第二个对象(addedObject)上,我正在为我的邮件报告创建一个插入的 T 列表。尽管这个列表越来越多,但我仍然在增加请求。

感谢提示

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-20
    • 1970-01-01
    • 2015-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多