2012-02-16 13 views
7

Potrzebuję przesłonić niektóre ustawienia dla składników .NET hostowanych w Internet Explorerze. Stworzyłem plik iexplore.exe.config i umieściłem go w c: \ program files \ internet explorer.iexplore.exe.config jest ignorowane

Poniżej znajduje się plik konfiguracyjny:

<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> 

Niestety, ten wydaje się być całkowicie ignorowane przez IE. Nawet jeśli wstawię nieprawidłowy tekst do pliku, nie zostaną zarejestrowane żadne błędy.

Ta sama konfiguracja działa idealnie, jeśli dodałem ją do pliku machine.config, ale chciałem ograniczyć moje przesłonięcia do IE, jeśli to możliwe.

Próbowałem włączyć IEHostLogFile (patrz: http://support.microsoft.com/kb/313892), a to dało mi kilka interesujących wpisów. To sugeruje, że plik zdalna konfiguracja jest załadowany:

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 
... 

Zbadałem ten plik konfiguracyjny, a nie zastępują sekcję System.Net, więc nadal powinien być w stanie zapewnić moim przesłonięcia. Mógłbym spróbować zmodyfikować ten plik, ale to rozwiązanie nie byłoby dla mnie skuteczne, ponieważ nie chcę, aby ten problem dotyczył tej aplikacji, tylko określonych maszyn.

Pomysły?

+0

Sprawdzanie ... x86 lub x64 OS? (tylko dlatego, że jeśli jest to x64, prawdopodobnie chcesz go umieścić w 'C: \ Program Files (x86) \ Internet Explorer') – JimmiTh

+0

Moje testy były na maszynach x86 i x64, a ja umieściłem config w obu lokalizacjach na maszynie x64 - po prostu dla bezpieczeństwa. Domyślny IE ma rozmiar 32-bitowy i to jest ten, który uruchamiam, ale w tym momencie dźgam ciemność. – RMD

Odpowiedz

2

Może to pomaga, kiedy można umieścić następujące informacje w twojej głowie stron hostig:

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

Checkout następujące łącza. dość stary ty, ale może to nie zmodernizowano zmieniło:

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

Jeśli to rozwiązuje problem, można pomyśleć o tym, jak to to tylko dla niektórych maszyn.

+0

Interesująca sugestia, ale niestety nie "posiadam" docelowej witryny lub witryn. – RMD

+0

+1, nie wierzę, że IE używa iexplore.exe.config: http://msdn.microsoft.com/en-us/library/1xtk877y.aspx – Joe

+0

Wydaje się, że Sascha ma rację, mimo że wprowadziła w błąd dokumentację Microsoft. – RMD

0

This article notes że:

Jeśli aplikacja obsługiwana w programie Internet Explorer ma plik konfiguracyjny , położenie tego pliku jest określona w znaczniku z następującą składnię:

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

W tym znaczniku lokalizacja jest adresem URL pliku konfiguracyjnego. To ustawia bazę aplikacji. Plik konfiguracyjny musi znajdować się na stronie internetowej tej samej aplikacji, co .

Należy również spojrzeć na post Dan Hickman w this thread. Podobne instrukcje są dostępne pod numerem here (patrz sekcja "Jak włożyć elementy sterujące"). Wszystkie z nich zapewniają odpowiednie uprawnienia dostępu.

Powiązane problemy