2010-08-17 15 views
2

J'ai créé une procédure stockée SQL CLR qui appellera un service WCF. J'ai réussi à obtenir toutes les DLL correctes chargées dans SQL Server pour que cela fonctionne, mais j'ai maintenant message d'erreur suivant:Appel d'un service WCF à partir d'une procédure stockée SQL CLR

System.Configuration.ConfigurationErrorsException: Une erreur s'est produite lors de la création du gestionnaire de section de configuration pour system.serviceModel/extensions : Impossible de charger le fichier ou l'assembly 'System.IdentityModel, Version = 3.0.0.0, Culture = neutre, PublicKeyToken = b77a5c561934e089' ou l'une de ses dépendances. L'assemblage dans le magasin hôte a une signature différente de l'assemblage dans GAC. (Exception de HRESULT: 0x80131050) (C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ Config \ machine.config ligne 185) System.Configuration.ConfigurationErrorsException: à System.Configuration.BaseConfigurationRecord.EvaluateOne (String [ ] touches, entrée SectionInput, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, objet parentResult) à System.Configuration.BaseConfigurationRecord.Evaluate (FactoryRecord factoryRecord, SectionRecord sectionRecord, objet parentResult, Boolean getLkg, Boolean GetRuntimeObject, objet & résultat, objet & resultRuntimeObject) at System.Configuration.BaseConfigurationRecord.GetSectionRecursive (Chaîne configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Objet & résultat, Objet & resultRuntimeObject) à System.Configuration.BaseConfigurationRecord.GetSectionRecursive (String configKey, Boolean getLkg, Boolean checkPermission, Boolean GetRuntimeObject, Boolean requestIsHere, objet & résultat, objet & resultRuntimeObject) à System.Configuration.BaseConfigurationRecord.GetSectionRecursive (String configKey, Boolean getLkg, Boolean checkPermission, Boolean GetRuntimeObject, Boolean requestIsHere, objet & résultat, objet & resultRuntimeObject) à System.Configuration.BaseConfigurationRecord.GetSectionRecursive (String configKey, Boolean getLkg, Boolean checkPermission, Boolean GetRuntimeObject, Boolean requestIsHere, objet & conséquence, l'objet & résultatRu ntimeObject) à System.Configuration.BaseConfigurationRecord.GetSection (String ...

J'ai trouvé cette annonce sur le web, mais je ne sais pas comment mettre à jour le GAC ou si sa fait le correctif pour le problème: (Invoking a WCF Service from a CLR Trigger)

Répondre

1

Regardez blog de Niels Berglund: http://nielsb.wordpress.com/sqlclrwcf/ Vous pouvez supprimer la ligne incriminée à partir du fichier machine.config ou désactiver le débogage de WCF sur la machine avec vsdiag_regwcf.exe -u. Vous devrez recycler SQL une fois que vous aurez modifié le fichier .config afin qu'il rejette les domaines de l'application.