martedì 23 agosto 2011

Silverlight 4.0 - WCF RIA Services - Enterprise Logging Application Block

SO Windows 7 a 64 bit - IIS 7.5 - VS2010 service pack1

Avevo questo tipo di problematica:

"Nella mia Silverlight Business Application ho implementato il Logging Application Block con l’estensione per Silverlight come da documentazione e tutto funziona correttamente, riesco a scrivere nel mio file di log tutte le informazioni che voglio, ma il fatto è che funziona solo se eseguo l’applicazione in emulazione, cioè con l’option “Usa Visual Studio Development Server”, se invece eseguo sempre da VS con “Usa server Web IIS Locale” l’applicazione non mi logga più niente. Credo sia un problema di permessi, però io ho dato i permessi alla cartella a tutto il mondo; ho cambiato anche l’identità di pool, impostandola a Nework Service, perché ho letto in un blog che WCF gira con Network Service, ma … niente da fare! E non so più dove sbattere la testa ... Naturalmente nell'event log di Windows non c'è nessun errore. A questo punto, qualsiasi altro suggerimento è bene accetto! Grazie mille!"

Alla fine ho trovato il motivo di tale anomalia.

Grazie Fiddler2!
Come capita spesso in questi casi, era una "baggianata"; in pratica era sbagliato l'endpoint del servizio WCF dell'applicazione Silverlight.
Era impostato nel seguente modo:

<endpoint address="/LoggingService.svc" ...

deve essere invece

<endpoint address="/MiaApplicazione.Web/LoggingService.svc" ...

Che sudata però ;-)