我制作了2个Win-forms桌面应用程序。它们彼此之间以字符串格式传递数据。
但是,如果字符串内容变大,则会出现以下错误:
“格式化程序尝试反序列化消息时抛出异常:尝试反序列化参数http://tempuri.org/:Code时发生错误。InnerException消息为'反序列化类型为System.String []的对象时发生错误。在读取XML数据时,已超出最大字符串内容长度配额(8192)。可以通过更改在创建XML阅读器时使用的XmlDictionaryReaderQuotas对象上的MaxStringContentLength属性来增加此配额。第216行,位置104。有关更多详细信息。”
创建服务器的代码在这里
Try
host = New ServiceHost(GetType(MainServerCode), New Uri("http://localhost:6767"))
host.AddServiceEndpoint(GetType(MainInterface), New BasicHttpBinding(), "Editor")
host.Open()
Catch ex As Exception
End If
激发字符串的代码在这里
Try
Dim Binding As New BasicHttpBinding()
binding.MaxBufferSize = binding.MaxBufferSize * 2
binding.MaxReceivedMessageSize = binding.MaxBufferSize
binding.ReaderQuotas.MaxStringContentLength = Integer.MaxValue
Dim httpFactory As New ChannelFactory(Of TAFunc)(binding, New EndpointAddress("http://localhost:6768/XXX"))
Dim httpProxy As TAFunc = httpFactory.CreateChannel(), R(-1), D(-1) As String
httpProxy.RunScript(name, scode, type, nbar, R, D)
' array sc code contains textual data (string)
Result = R
DebugData = D
Catch ex As Exception
Debug.Print(ex.Message)
End Try
尽管如此,我仍然无法正常工作并给出相同的错误。我该怎么办?
答案 0 :(得分:2)
此参数在服务器和客户端之间序列化,因此我们还需要考虑在服务器端添加配置。
服务器端。
windows: 10 64x
node: 12.16.1
angular CLI: 7.3.9
angular: 6.1.10
请随时让我知道问题是否仍然存在。