![](/img/trans.png)
[英]In .NET, how do you make a customized control that does not display on the windows form?
[英]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.