Я сделал 2 Win-формы настольных приложений. Они передают данные друг другу, и это в основном в строковом формате.
Однако, если содержимое строки становится немного больше, я получаю следующую ошибку:
"Форматировщик выдал исключение при попытке десериализации сообщение: при попытке десериализации параметра http://tempuri.org/: код произошла ошибка. Сообщение InnerException было «Произошла ошибка при десериализации объекта типа System.String []. Максимальная квота длины содержимого строки ( 8192) было превышено при чтении данных * 1017. * Эта квота может быть увеличена путем изменения свойства MaxStringContentLength объекта XmlDictionaryReaderQuotas, используемого при создании считывателя XML. Строка 216, позиция 104. 'Для получения дополнительной информации см. InnerException. "
Код, который создает сервер, находится здесь
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
Несмотря на все, что я сделал, его не работает и дает ту же ошибку. Что мне делать?