繁体   English   中英

IE不显示.NET Windows窗体控件

[英]IE does not display a .NET Windows Form control

我在Intranet上的两台计算机PC1和PC3上托管了一个相同的asp.net应用程序。 .NET控件使用对象标记托管。 在PC1上执行时,以下三个url可以正常工作:

http://pc1/test/test.aspx (其他两个URL已将pc1替换为pc3和localhost)

IE v8中的所有三个URL均显示带有.NET控件的页面。

但是相同的URL在PC3上不起作用。 它们的控件以红色的小X符号显示。

在第二台计算机上,Fiddler视图显示正在正确下载.NET dll,但是融合日志和IEHost日志未显示任何内容。 第一个计算机融合日志和IEHost日志显示了预期的报告。

两台计算机上的IE均设置为在受信任区域中包含上述所有三个URL。 可信区域的.NET2管理信任设置为FullTrust。 另外,我为pc1和pc3创建了代码组以提供FullTrust。

为什么第二台计算机上的IE无法显示.NET控件? 另外,为什么不创建IEHost和融合日志?

您可能知道,IE8阻止了Internet区域中对.NET UserControls的使用。 http://blogs.msdn.com/ieinternals/archive/2009/10/09/DotNet-UserControls-Do-Not-Load-in-IE8-Internet-Zone.aspx

也许该控件无法正常运行的机器也为Trusted区域设置了URLAction2005?

您是否尝试过将.NET控件的其他IE区域安全设置更改为“提示”,以查看是否收到提示? 您是否尝试过使用该计算机加载其他人的.NET控件? 那台机器是否可能具有将.NET1.1框架加载到IE进程中的.NET加载项,从而阻止了2.0框架的加载?

感谢Eric和Aaron都帮助我解决了这个问题。 原来,安装在IE中的McAcfee网站顾问插件阻止了对.NET控件的访问。 虽然,很好奇它允许在窗体上使用ActiveX控件。 在.NET控件进入IEHost.dll之前,似乎McAfee确实拥有与.NET相关的权限检查。 我禁用了McAfee Site Advisor来解决此问题。

听起来您已正确设置了所有设置。

您可能要检查的一件事是PC3上的Internet临时文件,这可能是在黑暗中拍摄的。 确保程序集实际上是从那里下载的。 如果那里有很多旧文件,则可能超出了限制。

我会清除您的Internet临时文件,然后重试。 另外,检查您的“ Internet临时文件”文件夹,看看它是否确实存在。 如果因为这个原因没有保存它,那就可以解释为什么融合日志什么都看不到。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM