2010-11-15 5 views
0

J'ai un contrôle ActiveX dans ma page Web pour imprimer des factures. Cela fonctionne bien sur local mais quand j'essaye dans le serveur distant, je ne peux pas imprimer, cela me donne cette erreur.Comment autoriser un objet ActiveX à imprimer?

System.Security.SecurityException: Demande d'autorisation de type 'System.Drawing.PrintingPermission.PrintingPermission, System.Drawing, Version = 2.0.0.0, Culture = neutre, PublicKeyToken = b03f5f7f11d50a3a' a échoué.

Répondre

0

J'ai trouvé la réponse, voici les étapes sont

1) Ajouter votre site à la zone de confiance

2) Ensuite, tapez ces commandes dans l'invite de commande. Si vous utilisez MSIE 64 bits, utilisez ces deux commandes. J'utilise .NET Framework 2.0, si vous utilisez une autre version, veuillez vérifier et changer le chemin de l'outil caspol.exe

C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ caspol.exe -machine -quiet addgroup Trusted_Zone -site ip_address_or_site FullTrust -nom give_a_name_to_your_exception -description "Donnez une description à votre exception"

C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ caspol.exe -machine quiet -addgroup Trusted_Zone -site ip_address_or_site FullTrust -name give_a_name_to_your_exception -description "Donnez une description à votre exception"

3

Le rôle de l'utilisateur sur lequel votre application s'exécute n'est pas autorisé à imprimer. Veuillez donner à cet utilisateur une permission d'imprimer.

ou par chèque de votre application .Net niveau de confiance (vous pouvez le trouver dans Caractéristiques Voir de votre application Web dans IIS console de gestion)

Ajouter cet attribut ci-dessus vous méthode, dans laquelle vous faites la Objet ActiveX et demande d'impression.

[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Assert, Unrestricted = true)] 
public void blabla 
[ 
    //your code 
} 
+0

"Rôle de l'utilisateur sur lequel votre application s'exécute, n'a pas l'autorisation d'imprimer. rmission à imprimer. " mais comment? – rasputin

+1

Ajoutez le code au-dessus de votre méthode où vous faites l'instance de l'objet Active X et l'envoi de la demande d'impression. [voir ma réponse mise à jour pour le code] –

Questions connexes