2012-02-16 262 views
7

我需要覆盖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部分,所以我应该还是可以提供我的替代。我可以尝试修改该文件,但这种解决方案对我来说不起作用,因为我不想大家谁使用这个应用程序会受到影响,只是特定的机器。

想法?

+0

只检查... x86或x64操作系统? (仅仅是因为如果它是x64,你可能真的希望它放在'C:\ Program Files文件(x86)\ Internet Explorer'中) – JimmiTh 2012-02-21 20:08:18

+0

我的测试已经在x86和x64机器上,并且我放置了配置在x64机器上的两个位置 - 只是为了安全起见。默认的IE是32位,这就是我正在启动的那个,但是我在那个时候刺伤了黑暗。 – RMD 2012-02-21 20:23:19

回答

2

也许它可以帮助当你把你的hostig网站头以下:

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

结帐下面的链接。很老了你,但也许这改变处理不当:

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

如果这样可以解决问题,你会考虑如何将这种只针对某些机器。

+0

有趣的建议,但不幸的是我不“拥有”目标网站或网站。 – RMD 2012-02-22 15:33:24

+0

+1,我不相信IE使用iexplore.exe.config:http://msdn.microsoft.com/en-us/library/1xtk877y.aspx – Joe 2012-02-24 15:44:59

+0

Sascha似乎是正确的,尽管一些来自微软的误导性文档。 – RMD 2012-03-05 15:38:47

0

This article notes说:

如果在Internet Explorer中承载的应用程序有一个配置 文件,该文件的位置与 标签规定的语法如下:

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

在此标记中,位置是配置文件的URL。这设置了 的应用基础。配置文件必须位于与应用程序相同的网站 上。

还请看在this thread丹希克曼答复。 提供类似说明here(请参阅'如何嵌入控件'一节)。所有这些都提供了适当的访问权限。