iexplore.exe.config被忽略
我需要覆盖Internet Explorer中托管的.NET组件的一些设置。我已经创建了一个iexplore.exe.config文件并将它放在c:\ program files \ internet explorer中。iexplore.exe.config被忽略
下面是配置文件:
<configuration>
<system.net>
<webRequestModules>
<remove prefix="http:"/>
<remove prefix="https:"/>
<add prefix="http:" type="MyHttpRequestCreator, MyRequestModule, Version=1.0.0.0, Culture=neutral, PublicKeyToken=bee8bd1bab54ad99" />
<add prefix="https:" type="MyHttpRequestCreator, MyRequestModule, Version=1.0.0.0, Culture=neutral, PublicKeyToken=bee8bd1bab54ad99" />
</webRequestModules>
</system.net>
</configuration>
不幸的是,这似乎是由IE被完全忽略。即使我将无效文本放入文件中,也不会记录错误。
如果我将它添加到machine.config中,此相同的配置完美工作,但如果可能的话,我想限制我的覆盖。
我试着启用IEHostLogFile(请参阅:http://support.microsoft.com/kb/313892),这给了我一些有趣的条目。这表明,远程配置文件被加载:
Microsoft.IE.SecureFactory: Added configuration file: DotNetConfig.xml
Microsoft.IE.SecureFactory: Application base: http://someserver/dotnet/
Microsoft.IE.SecureFactory: Private Bin Path: bin
Microsoft.IE.IDKey: Created key
Microsoft.IE.SecureFactory: Trying to create instance of type http://someserver/dotnet/
SomeApp.DLL#SomeApp.SomeClass
...
我检查了配置文件,它不会覆盖system.net部分,所以我应该还是可以提供我的替代。我可以尝试修改该文件,但这种解决方案对我来说不起作用,因为我不想大家谁使用这个应用程序会受到影响,只是特定的机器。
想法?
也许它可以帮助当你把你的hostig网站头以下:
<link rel="Configuration" href="your.config"/>
结帐下面的链接。很老了你,但也许这改变处理不当:
http://msdn.microsoft.com/en-us/library/aa719757(vs.71).aspx
如果这样可以解决问题,你会考虑如何将这种只针对某些机器。
如果在Internet Explorer中承载的应用程序有一个配置 文件,该文件的位置与 标签规定的语法如下:
<link rel="ConfigurationFileName" href="location">
在此标记中,位置是配置文件的URL。这设置了 的应用基础。配置文件必须位于与应用程序相同的网站 上。
还请看在this thread丹希克曼答复。 提供类似说明here(请参阅'如何嵌入控件'一节)。所有这些都提供了适当的访问权限。
只检查... x86或x64操作系统? (仅仅是因为如果它是x64,你可能真的希望它放在'C:\ Program Files文件(x86)\ Internet Explorer'中) – JimmiTh 2012-02-21 20:08:18
我的测试已经在x86和x64机器上,并且我放置了配置在x64机器上的两个位置 - 只是为了安全起见。默认的IE是32位,这就是我正在启动的那个,但是我在那个时候刺伤了黑暗。 – RMD 2012-02-21 20:23:19