2009-07-13 1 views
1

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

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

ответ

0

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

+0

его, к сожалению, устаревшая вещь. По крайней мере, сейчас ничего не изменится ... –

0

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

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

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

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