2009-07-13 12 views
1

Ich entwickle eine Client-Server-Anwendung in C# mit WSE Web-Service. Einer der Dinge, die der Benutzer tun kann, sendet JPG-Bilder an den Server für die Sicherung über den Web-Service. In letzter Zeit sind seltsame Fehler aufgetreten. Dies geschieht nicht für alle Benutzer, nur wenige. Auf der Clientseite ist die Ausnahme einWSE 3.0 stürzt ab, wenn ClearHeaders aufgerufen wird

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

und auf dem Server die folgende Warnung in der Ereignisanzeige gefunden:

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)

Hat jemand eine Idee, wo diese Fehler kommen aus können? Ich habe bereits versucht, die "maxRequestLength" in web.config zu 16MB zu erhöhen, aber das behebt es nicht.

Grüße /Daniel

Antwort

0

Sind Sie WSE verwenden, weil Sie keine andere Wahl haben? Das ist wirklich der einzige Grund, es zu benutzen, da es ziemlich veraltet ist. Können Sie WCF nicht verwenden?

+0

ist es leider eine Vermächtnis Sache. Zumindest ist es nichts, was sich jetzt ändern kann ... –

0

Ich habe das gleiche erlebt. Während ich das Problem untersuchte, stieß ich auf diese Frage. Ich wollte nur teilen, was ich bisher gefunden habe.

Was ich im Netz finde, ist ziemlich einfach. Durch Erhöhen der maxRequestLength (auf einen vernünftigen Wert) in Ihrem system.web-Abschnitt der Datei web.config können Sie dieses Problem beheben.

Ich vermute, nachdem Sie keine Forschung mehr als das getan haben, ist, dass Ihre Standardeinstellungen für maxRequestLength nicht die Größe der Anfrage behandelt wird, wenn einer Ihrer Benutzer ein größeres JPG senden, um in Ihrem System über Ihre gesichert werden WSE Webservice.

Vielleicht möchten Sie auch Ihre executionTimeout-Einstellung Zeit hinzufügen.