10 Sekunden Timeout vom DomainService
erstellt am: 22. Aug 2011 | Tags: 10 Sekunden, DomainService, RIA-Service, Silverlight, Timeout
Nachdem ich im verherigen Betrag kleine Probleme mit dem Firefox hatte ist nun der Internet Explorer dran.
Ich entwickle grad eine Silverlight Anwendung mit RIA-Services und bekomme seit einigen Tagen den allseits beliebten “Not Found” Fehler, wenn mein DomainService zu lang braucht. Zu lang heißt in meinem Fall nach 10 Sekunden bekomme ich den Fehler. Der Witz an der Sache ist, dass ich den Fehler nur im Internet Explorer bekomme und nicht Firefox.
Wenn man nach dem Problem in der Suchmaschine seiner Wahl sucht, findet man meist Antworten die besagen, dass man in der partial OnCreated Methode der DomainContext Klasse folgenden Code hinzufügen soll:
if (!System.ComponentModel.DesignerProperties.IsInDesignTool)
{
((WebDomainClient<IDomainServiceContract>)DomainClient).ChannelFactory.Endpoint.Binding.SendTimeout = new TimeSpan(0, 20, 0);
((WebDomainClient<IDomainServiceContract>)DomainClient).ChannelFactory.Endpoint.Binding.CloseTimeout = new TimeSpan(0, 20, 0);
((WebDomainClient<IDomainServiceContract>)DomainClient).ChannelFactory.Endpoint.Binding.OpenTimeout = new TimeSpan(0, 20, 0);
((WebDomainClient<IDomainServiceContract>)DomainClient).ChannelFactory.Endpoint.Binding.ReceiveTimeout = new TimeSpan(0, 20, 0);
}
Bitte den Code nicht einfach blind kopieren, er bedarf noch geringer Anpassungen an euren Code.
Gemacht, getan und leider kein Unterschied. Schon völlig verzweifelt hab ich dann tatsächlich noch eine Lösung bzw. vielmehr eine Ursache gefunden. In dem Forum von silverlight.net habe ich gelesen, dass es in der Registry von Windows einen Eintrag gibt, der sich ReceiveTimeout nennt. ![]()
Nachschauen kann man unter dem Registry-Pfad “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings” und dem Eintrag ReceiveTimeout.
Dieser Eintrag ist nicht auf jedem Rechner zu finden. Auf meinem Arbeitsrechner war der Eintrag vorhanden und hatte einen Wert von 10 Sekunden. Man kann den Eintrag bedenkenlos entfernen. Vermutlich wird der Eintrag durch InstallAware hinzugefügt.
Falls ihr noch andere Probleme solcher Art habt, lasst es mich wissen.