Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net Win 7请求类型为';System.Security.Permissions.SecurityPermission失败_Asp.net_Security_Windows 7_Permission Denied - Fatal编程技术网

Asp.net Win 7请求类型为';System.Security.Permissions.SecurityPermission失败

Asp.net Win 7请求类型为';System.Security.Permissions.SecurityPermission失败,asp.net,security,windows-7,permission-denied,Asp.net,Security,Windows 7,Permission Denied,我有一个dll,可以从asp.net编写的intranet web应用程序访问本地计算机上的扫描仪。使用caspol在本地计算机上授予dll完全信任。在Win XP上一切都很好,但在Win 7上没有 代码是: PermissionSet ps = new PermissionSet(PermissionState.Unrestricted); ps.AddPermission(new SecurityPermission(SecurityPermissio

我有一个dll,可以从asp.net编写的intranet web应用程序访问本地计算机上的扫描仪。使用caspol在本地计算机上授予dll完全信任。在Win XP上一切都很好,但在Win 7上没有

代码是:

            PermissionSet ps = new PermissionSet(PermissionState.Unrestricted);
        ps.AddPermission(new SecurityPermission(SecurityPermissionFlag.AllFlags));
        ps.Assert();


wiaDevMgr = new DeviceManager();
            foreach (DeviceInfo di in wiaDevMgr.DeviceInfos) {
对DeviceInfo的请求引发以下错误:

Exception: Acquire from WIA failed Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
我已使用caspol检查了实际权限-相关区域的条目为:

   1.2.  Zone - Intranet: FullTrust
  1.2.1.  All code: Same site Web
  1.2.2.  All code: Same directory FileIO - 'Read, PathDiscovery'
  1.2.3.  Url - http://srvr/tpc/pictureConverter.dll: FullTrust
  1.2.4.  Url - http://srvr/tpc/printUniformities.dll: FullTrust
  1.2.5.  Url - http://srvr/tpc/WiaOneScan.dll: FullTrust
  1.2.6.  Url - http://srvr/tpc/DocPrint.dll: FullTrust
  1.2.7.  Url - http://srvr/tpc/FileAdmin.dll: FullTrust
  1.2.8.  Url - http://srvr/tpc/Interop.ImageMagickObject.dll: FullTrust
  1.2.9.  Url - http://srvr/tpc/Interop.WIALib.dll: FullTrust
其中,相关dll为WiaOneScan.dll


谢谢你的建议。

终于解决了。使用PermCalc.exe获取dll所需权限的列表

PermissionSet ps = new PermissionSet(PermissionState.Unrestricted); ReflectionPermission rp = new ReflectionPermission(PermissionState.Unrestricted); rp.Flags = ReflectionPermissionFlag.AllFlags; ps.AddPermission(rp); SecurityPermission sp = new SecurityPermission(PermissionState.Unrestricted); sp.Flags = SecurityPermissionFlag.AllFlags; ps.AddPermission(sp); KeyContainerPermission kc = new KeyContainerPermission(KeyContainerPermissionFlags.AllFlags); ps.AddPermission(kc); ps.Assert(); PermissionSet ps=新的PermissionSet(PermissionState.Unrestricted); ReflectionPermission rp=新的ReflectionPermission(PermissionState.Unrestricted); rp.Flags=ReflectionPermissionFlag.AllFlags; ps.AddPermission(rp); SecurityPermission sp=新的SecurityPermission(PermissionState.Unrestricted); sp.Flags=SecurityPermissionFlag.AllFlags; ps.AddPermission(sp); KeyContainerPermission kc=新的KeyContainerPermission(KeyContainerPermissionFlags.AllFlags); ps.AddPermission(kc); ps.Assert();