1

MISE À JOURWindows Server AppFabric Configuration personnalisée fournisseur Problèmes

Voici le lien vers le code de fournisseur personnalisé - http://www.gurpreetsohal.com/configurationprovider.zip

J'ai réussi à utiliser le réflecteur à l'étape plus loin dans les DLLs Microsoft AppFabric et je l'ai trouvé l'endroit où l'exception se produit.

enter image description here

L'exception est due à la méthode WaitForStatus - Le service est sans aucun doute dans l'état de départ, il atteint tout simplement jamais l'état démarré dans le délai d'attente.

La valeur de délai d'attente par défaut est de 60 secondes. J'ai augmenté cela à 10 minutes, même problème.


Le scénario est le suivant:

1) Travailler dans un environnement de groupe de travail Cela signifie que AppFabric ne permettra pas à une source SQL Server pour stocker le fichier de configuration, alors il vous reste à un partage de fichiers ou la création d'un fournisseur de configuration personnalisé.

J'ai choisi de faire ce dernier et j'ai rédigé une implémentation en utilisant l'interface ICustomProvider fournie, en utilisant blobstorage.

Tout semble fonctionner correctement, la configuration peut être créée/modifiée correctement supprimée - l'assistant de configuration fonctionne correctement. Le problème est que lorsque j'exécute le Start-CacheCluster dans PowerShell, le service de mise en cache AppFabric se bloque à l'état Démarrage.

Powershell lance alors une erreur:

enter image description here Cependant, si je commence manuellement le service de services.msc - il fonctionne très bien pas de problème, à peu près instantanément.

Pour m'assurer qu'il ne s'agit pas d'un problème d'environnement, j'ai configuré AppFabric pour utiliser le partage de fichiers pour la configuration et cela a fonctionné correctement sans aucun problème.

J'ai alors commencé à regarder pour voir ce que fait réellement cette commande powershell et décompiler la DLL.

Il m'a aussi loin que cela: enter image description here

currentAdmin.StartCluster (nouveau ProgressDelegate (ce, (IntPtr) this.StartClusterDelegate), nouvelle WriteErrorDelegate (ce, (IntPtr) this.WriteErrorRecord), cela. QuorumTimeout, this.HostTimeout);

Je ne peux pas aller plus loin et je suis coincé.

J'ai essayé les deux tableaux Azure et Blob Storage pour essayer et obtenir ce travail

Aide !!!!!

Répondre

0

Comme il utilise un port non standard, je m'assurerais que ce port est ouvert sur tous les nœuds du cluster. Une exception de délai d'attente peut être un pare-feu bloquant le port non standard.

Je regardai la capture d'écran de votre code décompilé, et on dirait qu'il est tout simplement lancer le délai d'attente, comme dans l'erreur.

Merci,

+0

Les pare-feu sont en panne. La configuration de base que j'essaie est un noeud unique, donc c'est aussi le noeud d'administration. – swissarmykirpan

+0

Aussi, dans la question originale, j'ai mentionné que j'ai utilisé la méthode standard de partage de fichiers, qui a fonctionné sans aucun problème !! – swissarmykirpan

+1

@warpcore. Si vous le pouvez, ce n'est peut-être pas une mauvaise idée de lancer le code pour votre fournisseur personnalisé. Il y a peut-être un problème là-bas. –

Questions connexes