#.net #wcf #exception-handling
#.net #wcf #обработка исключений
Вопрос:
Я получаю указанную выше ошибку при попытке запросить данные через WCF 4 с помощью netctp. Приложение довольно успешно работает как на моем компьютере разработчика, так и на удаленном сервере Windows 2008, возвращая запросы на данные из Entity Framework. Приложение по-прежнему отлично работает на моем компьютере разработчика, но не работает на удаленном сервере Windows, когда я запрашиваю созданную мной новую страницу, которая возвращает немного больше данных, чем все остальные мои страницы.
Перед публикацией этого вопроса я выполнил все обычные маршруты максимального использования всех моих свойств привязки nettcp, если это была проблема с регулированием, как показано ниже.
<binding name="NetTcpBinding_IProfileService" closeTimeout="00:10:00"
openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"
hostNameComparisonMode="StrongWildcard" listenBacklog="10"
maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxConnections="10"
maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647"
maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
<security mode="None">
<transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
<message clientCredentialType="Windows" />
</security>
</binding>
Я также включил трассировку WCF на сервере Windows 2008, и хотя я вижу действие «Прервано соединение с сокетами», оно не дает мне никаких дополнительных подробностей.
Теперь я полностью озадачен тем, в чем заключается моя проблема, и спрашиваю, есть ли кто-нибудь, кто мог бы пролить некоторый свет на проблему.
Ответ №1:
Вы включили трассировку с обеих сторон (сервер и клиент)? Вы должны увидеть источник ошибки в одном из файлов трассировки.
Я предполагаю, что вам, возможно, придется увеличить некоторые значения XmlDictionaryReaderQuotas.
Комментарии:
1. Спасибо за это, но, как вы можете видеть, я установил для всех своих квот для чтения значение 2147483647, и это все равно происходит. Я продолжу искать сообщение об ошибке в файлах трассировки и посмотрю, смогу ли я увидеть что-то, что даст мне подсказку.
2. Оказывается, моя трассировка на стороне сервера не была включена. Затем я обнаружил, что неправильно настроил одну из своих конечных точек. So отметит этот ответ как правильный, поскольку он побудил меня пойти и проверить мою конфигурацию трассировки.