2010-09-30 3 views
1

J'essaye de créer un WsHttpBinding entièrement dans le code, dans une tâche de manuscrit de SSIS.Différences d'accès de propriété entre .Net 3.5 et 4

La tâche de script ne pas avoir accès à un fichier app.config à l'exécution, alors je dois créer la liaison manuellement et définissez les paramètres dans le code:

WSHttpBinding binding = 
     new WSHttpBinding{ 
      Security = new WSHttpSecurity{ 
       Mode= SecurityMode.TransportWithMessageCredential, 
       Message = new NonDualMessageSecurityOverHttp{ 
        ClientCredentialType = MessageCredentialType.UserName, 
       } 
      } 
     }; 

Cette compile bien et est utilisable sous. Net 4, cependant tâche de script SSIS peut uniquement utiliser Net 3.5 comme son runtime cible. Lorsque j'essaie de compiler ce code, j'obtiens plusieurs erreurs de compilation indiquant que certaines des propriétés ci-dessus sont accessibles en raison de leur niveau de protection.

Il y a évidemment un changement fondamental entre 3.5 et 4 qui permet cela sous 4 mais pas 3.5.

Quelqu'un peut-il offrir une solution de contournement pour atteindre ce qui précède en 3.5?

Répondre

1

Il n'y a pas eu de changement entre .NET 3.5 et 4.0 dans le comportement des propriétés.

Ce a changé est l'accessibilité des constructeurs et des propriétés auxquelles vous essayez d'accéder. Dans .NET 4.0, les propriétés et les constructeurs qui n'étaient pas accessibles dans .NET 3.5 ont été rendus accessibles. Pour savoir comment accéder aux paramètres de configuration, vous devez pouvoir placer les paramètres de configuration dans le fichier de configuration du processus qui lance votre script. C'est un peu hokey (comme il s'appliquera pour tous les scripts), mais vous devrait être capable de le faire.

Vous pouvez lire les fichiers de configuration, vous devrez changer et où les trouver ici:

http://www.developerit.com/2010/04/12/where-is-my-app-config-for-ssis

+0

Ouais je lis cet article avant d'essayer de coder en dur, je voulais voir si je pourrait rendre le paquet plus portable en définissant la liaison dans le code du script au lieu de s'appuyer sur le fichier de configuration, il semble que ce soit mon option maintenant! Merci pour votre réponse. – James

Questions connexes