Domanda

Ho un'applicazione Silverlight che utilizza WCF sia da polling Duplex e "normale" chiamate asincrone. tutto stava funzionando benissimo, fino a quando ho aggiunto un file Global.asax.

Dopo un'ora di googling, mi sono imbattuto in questo blog piuttosto datato da Jean-Dirk Stuart che ha suggerito commentando la manifestazione session_Start stubbed.

Certo, basta che risolto il problema, ma solleva una preoccupazione. Perché questo decoroso benigna membro del file Global.asax rompere le chiamate WCF.

È stato utile?

Soluzione

Sì, questo è un problema poco conosciuto ma fastidioso. Il problema si riduce a stato della sessione viene attivata una volta che si aggiunge un file Global.asax al vostro progetto web. Una volta che lo stato della sessione è abilitato, il server eseguirà solo le chiamate in modo sequenziale. Qui ci sono due articoli con informazioni più approfondite:

http://blogs.msdn.com/b/silverlightws/archive/2009/09/30/having- a-pollingduplex-servizio-e-qualsiasi-altra-WCF-service the-same-Website-cause-silverlight-chiamate-in--to-be-slow.aspx

http://weblogs.asp.net/olakarlsson/archive/2010/05/20/simultaneously-calling-multiple-methods-on-a-wcf-service-from-silverlight.aspx

Questo problema si verifica solo quando si utilizza il browser stack di rete, in modo che le opzioni sono:

  1. Disattiva stato sessione nel vostro progetto web, o
  2. Utilizzare il client stack di rete

Spero che questo aiuti ...

Chris

Altri suggerimenti

Ci sono alcuni tipi di rilegatura, che supportano l'accesso ai dati di sessione asp.net, io davvero non vedo come sarebbe influenzare meno WCF cerca di agganciare nell'evento session_start proprio come un http modulo fa. Si potrebbe anche usare il riflettore di smontare il codice in cui è dove ottenere l'eccezione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top