我们的web应用程序有一个在IE中运行的activex dll。它被赋予了一个强大的名字和基于该强名称的自定义权限集。activex需要的受信任站点
装配饰是这样的:
[assembly: AllowPartiallyTrustedCallers]
和类的ActiveX控件需要这样在浏览器中运行:
[PrintingPermission(SecurityAction.Assert, Unrestricted = true)]
当我Trusted_Zone下添加我们的自定义代码组并将该网站添加到受信任的网站,一切工作正常。但是,当我在Internet_Zone下添加代码组并将activex控件从受信任的站点中删除时,activex控件将无法运行。
在IE8中,安全区域都设置为默认设置。另外,当我将Internet区域中的“ActiveX控件和插件”的安全设置更改为与“受信任的站点区域”中相同时,该控件不起作用。还有什么我需要做的,无论是通过caspol或IE设置,让它在互联网区域运行?
我直接在IE中使用它。更改注册表项确实会更改Internet区域中的行为。 – voam 2009-12-30 15:25:00
这意味着你没有使用“ActiveX”控件,而是使用UserControl。由于安全原因,UserControl在Internet区域中被阻止:http://blogs.msdn.com/ieinternals/archive/2009/10/09/DotNet-UserControls-Do-Not-Load-in-IE8-Internet-Zone.aspx – EricLaw 2009-12-30 16:24:56
@EricLaw谢谢你,我认为这是正确的答案。 – ChrisW 2010-08-30 21:53:06