iexplore.exe.config被忽略

时间:2012-02-16 16:18:02

标签: .net internet-explorer app-config

我需要覆盖Internet Explorer中托管的.NET组件的一些设置。我创建了一个iexplore.exe.config文件并将其放在c:\ program files \ internet explorer中。

以下是配置文件:

<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部分,所以我仍然可以提供我的覆盖。我可以尝试修改该文件,但是这个解决方案不适用于我,因为我不希望使用此应用程序的所有人受到影响,只是特定的机器。

想法?

2 个答案:

答案 0 :(得分:2)

当您将以下内容放入hostig网站时,也许会有所帮助:

<link rel="Configuration" href="your.config"/>

查看以下链接。你很老,但也许这没有改变:

http://msdn.microsoft.com/en-us/library/aa719757(vs.71).aspx

如果这样可以解决问题,您可以考虑如何仅为某些机器添加此功能。

答案 1 :(得分:0)

This article notes

  

如果Internet Explorer中托管的应用程序具有配置   文件,该文件的位置在标签中指定   语法如下:

     

<link rel="ConfigurationFileName" href="location">

     

在此标记中,location是配置文件的URL。这套   应用程序库。配置文件必须位于   与应用程序相同的网站。

另请查看Dan Hickman在this thread 中的回复。 提供了类似的说明here (请参阅“如何嵌入控件”部分)。所有这些都是关于提供适当的访问权限。