2012-02-16 2 views
7

Мне нужно переопределить некоторые параметры для компонентов .NET, размещенных внутри Internet Explorer. Я создал файл iexplore.exe.config и поместил его в файл c: \ program \ 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, но я хотел, если это возможно, ограничить мои переопределения IE.

Я попытался включить 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 OS? (только потому, что если это x64, вы, скорее всего, захотите, чтобы он был помещен в 'C: \ Program Files (x86) \ Internet Explorer') – JimmiTh

+0

Мое тестирование было на машинах x86 и x64, и я поместил config в обоих местах на машине x64 - просто для того, чтобы быть в безопасности. IE по умолчанию - 32 бит, и это тот, который я запускаю, но в этот момент я наносил темный удар. – RMD

ответ

2

Может быть, это помогает, когда вы поместите в вашей hostig сайтов голове:

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

Checkout следующую ссылку. довольно старый ты, но, возможно, это hasnt изменилось:

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

Если это решит проблему, вы могли бы подумать о том, как включить это только для определенных машин.

+0

Интересное предложение, но, к сожалению, я не «владею» целевым веб-сайтом или сайтами. – RMD

+0

+1, я не считаю, что IE использует iexplore.exe.config: http://msdn.microsoft.com/en-us/library/1xtk877y.aspx – Joe

+0

Sascha представляется правильным, несмотря на некоторые вводящие в заблуждение документы от Microsoft. – RMD

0

This article notes что:

Если приложение, размещенное в Internet Explorer имеет файл конфигурации , расположение этого файла указывается в теге с следующий синтаксис:

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

В этом теге расположение - это URL-адрес файла конфигурации. Это устанавливает базу приложений. Файл конфигурации должен быть расположен на том же веб-сайте , что и приложение.

Также, пожалуйста взгляд на ответ Дэн Хикмена в this thread. Аналогичные инструкции приведены here (см. Раздел «Как вставить элементы управления»). Все они обеспечены соответствующими разрешениями доступа.