2009-04-27 7 views
0

Impossible d'utiliser le chemin HTTPS dans Assembly.LoadFrom.Impossible de télécharger à partir du site HTTPS à l'aide de Assembly.LoadFrom

Essayé en utilisant TrustAllCertificatePolicy classe aussi et cela ne fonctionnait pas.

J'ai donné la confiance totale au serveur en utilisant caspol de la machine client. La même URL fonctionne avec SSL désactivé. Cela ne fonctionne pas seulement pour SSL activé. aidez s'il vous plaît.

L'exception est:

System.IO.FileLoadException: Security problem encountered when connecting to URL for 'https://ip/tasks/tasks.dll'. File name: 'https://ip/tasks/tasks.dll'  
at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, 
    Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)  
at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, 
    StackCrawlMark& stackMark, Boolean forIntrospection)  
at System.Reflection.Assembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, 
    Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, StackCrawlMark& stackMark)  
at System.Reflection.Assembly.LoadFrom(String assemblyFile, Evidence securityEvidence)  
    WRN: Assembly binding logging is turned OFF. To enable assembly bind failure logging, set the registry value 
    [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. Note: There is some performance penalty associated 
    with assembly bind failure logging. To turn this feature off, remove the registry value 
    [HKLM\Software\Microsoft\Fusion!EnableLog]. 
+0

Pouvez-vous définir HKLM \ Software \ Microsoft \ Fusion! EnableLog afin d'obtenir un meilleur journal des exceptions? –

Répondre

0

code d'accès de sécurité bloque l'exécution de code à partir http et https emplacements dans (l'accès aux pleins droits) normal. Vous devrez créer un nouveau domaine AppDomain (et éventuellement des types distants/sérialisables pour couvrir la limite du domaine d'application), avec les paramètres CAS dans AppDomain pour s'exécuter avec le jeu d'autorisations Internet. Cela évitera que le code téléchargé ne modifie la machine locale.

Vous pouvez bien sûr créer un ensemble d'autorisations personnalisées pour autoriser plus d'accès si vous faites réellement confiance au code à distance (et à tous ceux qui peuvent ou pourront le modifier).

Questions connexes