В проекте, который я в настоящее время работаю, там подвергается службы WCF, которая возвращает массив хозяйствующего субъекта, давайте назовем его счет-фактура:WCF ответ слишком долго - ошибка аутентификации
Invoice[] GetInvoicesByTypeAndTime(InvoiceType invoiceType, byte startHour, byte? endHour);
механизм аутентификации, используемый это проверка подлинности Windows, служба WCF размещается в веб-приложении, размещенном на IIS 6.
Сначала, когда я использовал данные более 64 КБ, было указано сообщение CommunicationException, в котором указано: «Максимальная квота размера сообщения для входящих сообщений (65536). Для увеличения квоты используйте свойство MaxReceivedMessageSize на соответствующем связывающий элемент ".
Хорошо, я просто увеличил в App.config значения до 65536000 (я явно добавил три нуля в конце) как MaxReceivedMessageSize и MaxBufferSize (последний, так как он жаловался в ArgumentException, что «Для TransferMode.Buffered, MaxReceivedMessageSize и Значение MaxBufferSize должно быть одинаковым. Имя параметра: bindingElement ").
Теперь я мог бы получить большие ответы ...
Пока я не ударил другой предел (я думаю) в том, что после 624 элементов странного исключение (примерно 2,2 Мб.):
System.ServiceModel.Security.MessageSecurityException: The HTTP request is unauthorized with client authentication scheme 'Negotiate'. The authentication header received from the server was 'Negotiate,NTLM'. ---> System.Net.WebException: The remote server returned an error: (401) Unauthorized.
at System.Net.HttpWebRequest.GetResponse()
at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
--- End of inner exception stack trace ---
стек сервера трассировки:
at System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication(HttpWebRequest request, HttpWebResponse response, WebException responseException, HttpChannelFactory factory)
at System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory factory, WebException responseException)
at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Исключение при вызваны повторно [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Test2.DBS.IDbService.GetInvoicesByTypeAndTime(InvoiceType invoiceType, Byte startHour, Nullable`1 endHour)
at Test2.DBS.DbServiceClient.GetInvoicesByTypeAndTime(InvoiceType invoiceType, Byte startHour, Nullable`1 endHour) in D:\TEMP\Test2\Test2\Service References\DBS\Reference.cs:line 1445
at Test2.Program.Main(String[] args) in D:\TEMP\Test2\Test2\Program.cs:line 19
Есть ли ограничение на аутентифицированные ответы? Есть ли ограничение по настройкам ASP.NET?
Спасибо Yannick М. для переформатирования :) –