2012-02-16 258 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(請參閱'如何嵌入控件'一節)。所有這些都提供了適當的訪問權限。