Tuesday, June 16, 2009


Il  CRM 4.0, specialmente se c'è installata la rollup 4, è pienamente compatibile con il nuovo Internet Explorer 8, anzi!
IE 8 interpreta più velocemente il javascript lato client e, di conseguenza, il rendereing delle pagine è più veloce.

L'unico problema viene sul client Outlook. Anche se il sito del CRM è inserito fra quelli per i quali non si desidera il blocco dei popup, ogni volta che se ne apre uno appare un alert di errore. Il popup si apre, il CRM funziona, ma ad ogni nuova finestra appare il messaggio e, a volte, quando si clicca sul pulsante "salva e chiudi" appare la finestra di avviso che il programma sta cercando di chiudere la finestra corrente.

 

Ciò è ovviamente dovuto a un'impostazione di IE8, ma quale?

Dopo varie prove ho sperimentato che le seguenti modifiche alla configurazione di IOE8 risolvono il problema:

1) Andare nelle opzioni Internet
2) Andare nella scheda protezione
3) Togliere il flag da "Attiva modalità protetta"
4) Cliccare il pulsante "Ripristina livello predefinito su tutte le aree"
5) Chiudere il browser e Outlook
6) Aprire IE
7) Andare nelle opzioni internet
8) Andare nella scheda protezione
9) selezionare il flag "Attiva modalità protetta"
10) Chiudere IE
11) Aprire Outlook.


FUNZIONA!!!

Tuesday, June 16, 2009 10:23:58 AM (W. Europe Standard Time, UTC+01:00)  #    Disclaimer  |  Comments [0]  | 
 Thursday, May 28, 2009
AUTENTICAZIONE MULTIAZIENDA CRM 4: esempio di codice
Thursday, May 28, 2009 8:52:44 AM (W. Europe Standard Time, UTC+01:00)  #    Disclaimer  |  Comments [0]  | 
 Monday, May 25, 2009

   Spesso quando si fanno massicce chiamate alla platform del CRM via servizi web (si parla di decine o centinaia di migliaia di chiamate ad esempio durante un'importazione massiva), si può ottenere un errore di socket il cui messafggio è una frase del tipo "Non è possibile aprire più connessioni su una stessa porta".

Questo comportamento è legato all'IIS e non al codice del CRM o dello sviluppatore. Ogni server web rimane costantemente in ascolto su alcune pèorte TCP sulle quali sono attestati i siti. L'esempio più diffuso è quello della porta 80: siccome un sito è acceduto da più utenti in contemporanea, quando IIS riceve una chiamata sulla porta 80 la evade aprendo una connessione su una porta alta; questo perchè la porta 80 deve rimanere libera per le altre richieste. Le porte alte non utilizzate dalla macchina vengono quindi aperte con un socket e i flussi HTTP passano attraverso di esse. Ogni socket rimane aperto per un tempo stabilito e il range di porte alte da usare è scritto nel registro di sistema. Se le chiamate ai servizi web (un socket aperto per chiamata) sono molte e in rapida successione può succedere che il range di cui sopra si esaurisca, IIS ricomincia dai valori bassi di tale range trovando però i socket ancora aperti dalla chiamata precedente e scatendando quindi l'errore.

SOLUZIONE: per risolvere il problema bisogna intervenrire sulla configurazione di IIS in due modi NON mutualmente esclusivi. Bisogna però porre molta attenzione perchè eventuali errori potrebbero causare gravi errori nels erver web.

1) Diminuire il tempo di apertura dei socket (il default è 240 secondi): si va nella seguente chiave di registro e si modifica il valore ad esempio portandolo da 4 minuti a 30 secondi:
HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\TCPTimedWaitDelay

2) Aumentare il range di porte alte che l'IIS usa per evadere le richieste: si va nella seguente chiave di registro e si modificano ni valori di conseguenza portandoli ad esempio dal default che è 5000 a 65000:
HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\MaxUserPort

Si riavia IIS.

Monday, May 25, 2009 8:42:51 AM (W. Europe Standard Time, UTC+01:00)  #    Disclaimer  |  Comments [0]  |