如何允许activex对象打印?

时间:2010-11-15 14:41:49

标签: c# printing activex

我的网页上有一个ActiveX控件来打印账单。它在本地工作正常,但是当我在远程服务器上尝试时,我无法打印出来,它给了我这个错误。

System.Security.SecurityException:请求类型为'System.Drawing.Printing.PrintingPermission,System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'的权限失败。

2 个答案:

答案 0 :(得分:3)

您的应用运行的用户的角色,没有打印权限。请给该用户许可打印。

或检查您的应用程序的 .Net Trust Level (您可以在IIS管理控制台中的Web应用程序的功能视图中找到它)

在您创建ActiveX对象并请求打印的方法上方添加此属性。

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

答案 1 :(得分:0)

我找到了答案,这里的步骤是

1)将您的网站添加到受信任区域

2)然后在命令提示符下键入这些命令。如果您使用64位MSIE,请使用这两个命令。我使用.NET Framework 2.0,如果您使用其他版本,请检查并更改caspol.exe工具的路径

C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ caspol.exe -machine -quiet -addgroup Trusted_Zone -site ip_address_or_site FullTrust -name give_a_name_to_your_exception -description“为您的例外提供说明”

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“为您的例外提供说明”