WSE 3.0 падает, когда вызывается ClearHeaders - PullRequest
1 голос
/ 13 июля 2009

Я разрабатываю клиент-серверное приложение на c # с использованием веб-сервиса WSE. Пользователь может отправлять изображения jpg на сервер для резервного копирования через веб-сервис. Недавно произошли странные ошибки. Это не случается для всех пользователей, только несколько. На стороне клиента исключение составляет

System.Net.WebException Exception message: The operation has timed out

и на сервере в программе просмотра событий обнаруживается следующее предупреждение:

Exception information:      
Exception type: HttpException
Exception message: Server cannot clear headers after HTTP headers have been sent.
Request information
Request URL: MyUrl/Service.asmx
Request path: /MyWebService/Service.asmx
User host address: -------
User:
Is authenticated: False
Authentication Type:
Thread account name: NT AUTHORITY\NETWORK SERVICE
Thread information:
Thread ID: 7
Thread account name: NT AUTHORITY\NETWORK SERVICE
Is impersonating: False
Stack trace: at System.Web.HttpResponse.ClearHeaders()
at System.Web.Services.Protocols.SoapServerProtocol.WriteException(Exception e, Stream outputStream)
at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)
at System.Web.Services.Protocols.WebServiceHandlerFactory.CoreGetHandler(Type type, HttpContext context, HttpRequest request, HttpResponse response)

У кого-нибудь есть идея, откуда может возникнуть эта ошибка? Я уже пытался поднять "maxRequestLength" в web.config до 16 Мб, но это не исправляет.

С уважением / Daniel

Ответы [ 2 ]

0 голосов
/ 08 апреля 2010

Я испытал то же самое. Пока я изучал проблему, я столкнулся с этим вопросом. Я просто хотел поделиться тем, что нашел до сих пор.

То, что я нахожу в сети, довольно просто. Увеличив maxRequestLength (до нормального значения) в разделе system.web файла web.config, вы можете решить эту проблему.

Я полагаю, что, проведя не больше исследований, чем это, ваши настройки по умолчанию для maxRequestLength не будут обрабатывать размер запроса, представляемого, когда один из ваших пользователей отправляет JPG большего размера для резервного копирования в вашей системе через ваш WSE веб-сервис.

Возможно, вы также захотите добавить время к настройке executeTimeout.

0 голосов
/ 13 июля 2009

Вы используете WSE, потому что у вас нет выбора? Это действительно единственная причина, чтобы использовать его, поскольку он довольно устарел. Вы не можете использовать WCF?

...