Что такое код iis метабаза


IIS: How to get the Metabase path?

i’m trying to get the list of mime types known to an IIS server (which you can see was asked and and answered by me 2 years ago). The copy-pasted answer involves:

You get the idea. Everyone agrees that you use a magical path iis://localhost/mimemap. And this works great, except for the times when it doesn’t.

The only clue i can find as to why it fails, is from an IIS MVP, Chris Crowe’s, blog:

There are two clues here:

  1. He calls iis://localhost/mimemap the Metabase Path. Which sounds to me like it is some sort of «path» to a «metabase«.
  2. He says that the path to the metabase could be something else; and he gives an example of what it could be like.

Right now i, and the entire planet, are hardcoding the «MetabasePath» as

What should it really be? What should the code be doing to construct a valid MetabasePath?

Note: i’m not getting an access denied error, the error is the same when you have an invalid MetabasePath, e.g. iis://localhost/SoTiredOfThis

2 Answers 2

If you’re working with the IIS config of your local machine i.e. your code and IIS are on the same box then it’s sufficient to specify:

The IIS: portion is also known as a moniker in OLE parlance.

If you open the IIS6 metabase file ( C:\Windows\System32\inetsrv\metabase.xml ) you’ll find a large ‘blob’ of XML. This is in fact a flattened out tree structure.

Paths in the metabase are represented by Location attributes.

The moniker IIS://localhost maps to the Location path /LM which is effectively the tree root.

The moniker IIS://localhost/MimeMap maps to the Location path /LM/MimeMap .

If your code is accessing the metabase on remote machines then instead of specifiying IIS://localhost/[path] , one would specify IIS://[RemoteMachineName]/[path] . This is what Chris Crowes comment means.

IIS://localhost/MimeMap is also the master Mime Type list. All sites inherit this list (the IIS Metabase relies heavily on inherited properties).

If you wanted to override the Mime types for a specific site then you’d modify:

It’s useful to open up the IIS metabase file and have a dig around to understand what’s going on under the bonnet.

Update:

To answer your question about why you can create a DirectoryEntry object where the path is invalid, DirectoryEntry is a general purpose wrapper object used to bind against different types of ADSI providers such as IIS, LDAP and WinNT. It permits creation of DirectoryEntry objects where there may not necessarily be a matching object at the path specified. Some ADSI provider operations may require this capability.

There is a static method on DirectoryEntry called Exists that you can use to test for the existence of objects. For example:

Где находится файл конфигурации / метабазы IIS Express?

где можно найти файл конфигурации / метабазы IIS Express?

4 ответа:

файл конфигурации называется applicationhost.конфигурации. Он хранится здесь:

Мои Документы > IIS Express > config

обычно, но не всегда, один из этих путей будет работать

обновление для VS2015 (кредит: @Talon)
Если вы используете Visual Studio 2015+, проверьте этот путь:

в Visual Studio 2015+ вы также можете настроить, какие applicationhost.конфигурации файл используется путем изменения true|false настройка в файле проекта (например: MyProject.csproj). (источник: форум MSDN)

С момента появления Visual Studio 2015 это расположение изменилось и добавляется в корневой каталог решения в следующем расположении:

Я надеюсь, что это экономит ваше время!

для VS 2015 и VS 2020: Щелкните правой кнопкой мыши значок в системном трее IIS Express (при запуске приложения) и выберите «Показать все приложения»:

затем выберите соответствующее приложение и нажмите applicationhost.путь к файлу конфигурации:

чтобы пройти полный круг и включить все версии Visual Studio, @Myster изначально заявил, что;

Pre Visual Studio 2015 пути к applicationhost.конфиг были:

Visual Studio 2015+ путь можно найти по адресу: (кредит: @Talon)

но часть ,которая может получить некоторые люди является то, что настройки проекта в.sln файл может повторно заполнить applicationhost.конфигурация для Visual Studio 2015+. (кредит: @Lex Li)

Итак, если вы внесете изменения в applicationhost.config вы также должны убедиться, что ваши изменения соответствуют:

две важные настройки должны выглядеть так:

что здесь важно, так это то, что две настройки в .sln должен соответствовать имени и bindingInformation соответственно в applicationhost.конфигурационный файл, если вы планируете сделать изменения. Там может быть больше мест, которые связывают эти два файла, и я буду обновлять, как я нахожу больше ссылок либо по комментариям или больше опыта.

IIS: Как получить путь Metabase?

я пытаюсь получить список типов MIME известных на сервер IIS ( который вы можете увидеть попросили и и ответил на меня 2 года назад ). Копия вставили ответ включает в себя:

Вы получаете идею. Все согласны с тем , что вы используете магический путь Iis: // локальный / mimemap . И это прекрасно работает, для тех времен , когда он не только.

Единственный ключ я могу найти, почему это не удается, это из IIS MVP, Крис Кроу, блог :

Есть два ключа здесь:

  1. Он называет iis://localhost/mimemap по пути Metabase . Это звучит для меня , как это своего рода « путь » к « метабазой ».
  2. Он говорит , что путь к метабазе может быть что — то еще; и он дает пример того , что это может быть.

Сейчас я и вся планета, которые жестко прописывать в « MetabasePath » , как

Что должно действительно быть? Что этот код должен делать, чтобы построить правильный MetabasePath?

Примечание: Я не получаю сообщение об ошибке доступа отказано, ошибка та же, когда у вас есть недопустимое MetabasePath, например, iis://localhost/SoTiredOfThis

Если вы работаете с конфигурации IIS на локальном компьютере, то есть код и IIS находятся на том же поле, то это достаточно указать:

IIS: Часть также известна как моникер в OLE языке.

Если открыть файл IIS6 метабазы ( C:\Windows\System32\inetsrv\metabase.xml ) вы найдете большой «сгусток» в XML. Это фактически выровнялась структура дерева.

Дорожки в метабазой представлены Location атрибуты.

Прозвище IIS://localhost карты на Location пути , /LM который эффективно корень дерева.

Прозвище IIS://localhost/MimeMap карты на Location пути /LM/MimeMap .

Если ваш код доступа метабазы на удаленных машинах , то вместо specifiying IIS://localhost/[path] , можно было бы указать IIS://[RemoteMachineName]/[path] . Это то , что означает , что Крис Crowes комментарий.

IIS://localhost/MimeMap Также мастер пантомимы список Тип. Все сайты наследуют этот список (МОЕ Metabase в значительной степени зависит от наследственных свойств).

Если вы хотите, чтобы переопределить типы Mime для конкретного сайта, то вы бы изменить:

Это полезно, чтобы открыть файл метабазы ​​IIS и иметь рыть вокруг, чтобы понять, что происходит под капотом.

Обновить:

Чтобы ответить на вопрос о том, почему вы можете создать DirectoryEntry объект , где путь неверен, DirectoryEntry это общий объект назначения обертки используется для связывания с различными типами поставщиков ADSI , такими как IIS, LDAP и WinNT. Это позволяет создавать DirectoryEntry объекты , где не обязательно может быть соответствующий объект по пути , указанному. Некоторые операции поставщика ADSI может потребовать эту возможность.

Существует статический метод на DirectoryEntry называется , Exists что вы можете использовать для проверки существования объектов. Например:

IIS: Как получить путь Metabase?

я пытаюсь получить список типов MIME известных на сервер IIS (которые вы можете увидеть и спросили, и ответил мне 2 года назад). Копия вставили ответ включает в себя:

Вы получаете идею. Все согласны с тем, что вы используете магический путь Iis: // локальный/mimemap. И это прекрасно работает, для тех времен, когда он не только.

Единственный ключ я могу найти, почему он терпит неудачу, это от MVP IIS, Крис Кроу, блог:

Есть два ключа здесь:

  1. Он звонит iis://localhost/mimemap метабаза Path. Это звучит для меня, как это своего рода «путь» к «метабазой».
  2. Он говорит, что путь к метабазе может быть что-то еще; и он дает пример того, что это может быть.

Сейчас я и вся планета, которые жестко прописывать в «MetabasePath», как

Что должно действительно быть? Что этот код должен делать, чтобы построить правильный MetabasePath?

Примечание: Я не получаю сообщение об ошибке доступа отказано, ошибка та же, когда у вас есть недопустимое MetabasePath, например, iis://localhost/SoTiredOfThis

2 ответа

Возможно, для Вашего проекта будут необходимы бесплатные векторные карты. На нашем сайте представлены карты для всех стран.

Если вы работаете с конфигурации IIS на локальном компьютере, то есть код и IIS находятся на том же поле, то это достаточно указать:

IIS: участок также известен как моникер в OLE языке.

Если открыть файл IIS6 метабазы ​​( C:\Windows\System32\inetsrv\metabase.xml ) Вы найдете большой «сгусток» в XML. Это фактически выровнялась структура дерева.

Дорожки в метабазах представлены Location атрибутов.

прозвище IIS://localhost карты к Location дорожка /LM которая эффективно корень дерева.

прозвище IIS://localhost/MimeMap карты к Location дорожка /LM/MimeMap .

Если ваш код доступа метабазы ​​на удаленных машинах, то вместо specifiying IIS://localhost/[path] , Можно было бы указать IIS://[RemoteMachineName]/[path] . Это то, что означает, что Крис Crowes комментарий.

IIS://localhost/MimeMap также мастер пантомимы список Тип. Все сайты наследуют этот список (МОЕ Metabase в значительной степени зависит от наследственных свойств).

Если вы хотите, чтобы переопределить типы Mime для конкретного сайта, то вы бы изменить:

Это полезно, чтобы открыть файл метабазы ​​IIS и иметь рыть вокруг, чтобы понять, что происходит под капотом.

Чтобы ответить на вопрос о том, почему вы можете создать DirectoryEntry объект, где путь неверен, DirectoryEntry является общий объект назначения обертки используется для связывания против различных типов поставщиков, таких как ADSI IIS, LDAP и WinNT. Это позволяет создавать DirectoryEntry объекты, где не обязательно может быть соответствующий объект по пути, указанному. Некоторые операции поставщика ADSI может потребовать эту возможность.

Существует статический метод на DirectoryEntry называется Exists что вы можете использовать для проверки существования объектов. Например:

У меня была проблема с получением 0x80005000 возвращаемая при попытке сделать это. Глупая причина моей проблемы в том, что я использую IIS7 и не установлена ​​поддержка совместимости метабазы ​​IIS6.

Managing the IIS Metabase

An Overview of the IIS Metabase

With the introduction of IIS 4, came the introduction of the metabase. IIS configuration information was no longer stored in the Registry, but in the new metabase structure. Some IIS configuration settings however still remained stored in the Registry, under the following keys:

  • HKLMSOFTWAREMicrosoftInetMgrParameters
  • HKLMSYSTEMCurrentControlSetServicesInetInfoParameters
  • HKLMSYSTEMCurrentControlSetServicesASPParameters
  • HKLMSYSTEMCurrentControlSetServicesHttpParametersLogBufferSize
  • HKLMSYSTEMCurrentControlSetServicesW3SVCParameters
  • HKLMSYSTEMCurrentControlSetServicesMSFTPSVCParameters

In IIS 4, separating the majority of IIS configuration settings into the metabase; speeded up access to the information. The issue with the metabase in IIS 4 and IIS 5 was that it was a binary file. This meant that it could not directly be modified by administrators.

With IIS 6 came the new improved metabase. The most significant enhancement to the metabase in IIS 6 is that the binary format has been discarded. In IIS 6, the metabase is formatted as a plain text file using the Extensible Markup Language (XML). This means that you can edit the metabase using a text editor such as Notepad. In addition, whether changes are made manually or programmatically to the metabase, you no longer need to stop and restart IIS. You can use the Windows Management Instrumentation (WMI) or the Active Directory Services Interface (ADSI) to make changes to the metabase. You can also copy configuration settings from one IIS machine to another IIS machine. You can copy a particular website or virtual directory, or you can copy all IIS configurations.

The new IIS 6 metabase history feature tracks changes to the metabase, and then automatically saves backups of the metabase. This enables you to revert to a previously saved version when you experience problems with current configuration settings.

Илон Маск рекомендует:  Farcalloc   farrealloc работа с дальней кучей

The IIS 6 version of the metabase no longer consists of only one metabase file (metabase.bin) but two metabase files, namely:

  • MetaBase.xml: This XML formatted file holds the IIS configuration data.
  • MBSchema.xml: This XML formatted file holds the schema information for the MetaBase.xml file.

Both MetaBase.xml and MBSchema.xml are located under WindowsSystem32Inetsrv. Access to the files is controlled by:

  • Administrators, Full Control; and SYSTEM,Full Control

Management of the metabase functions lies with the IIS Admin service, inetinfo.exe. The responsibilities of inetinfo.exe are:

  • Metabase Storage Layer and Admin Base Objects: The Metabase Storage Layer formats the MetaBase.xml andMBSchema.xml files from disk and the converts them from XML to binary format when a Windows Server 2003 IIS machine boots. Admin Base Objects (ABO)is used to write the metabase to the IIS file cache.
  • Tracks any changes which are made to the metabase files.
  • Responsible for the metabase history feature. When changes are made to the metabase, the metabase history feature automatically saves backup copies of the metabase.
  • Responsible for the synchronization of the in-memoryversion and on disk version of the metabase files.

The following process occurs when you stop IIS via the IIS Manager:

  1. IIS first checks the in-memorymetabase to verify that all recent changes are written to disk.
  2. IIS stops if all recently madechanges have been written to disk.
  3. The in-memory metabase overwritesthe MetaBase.xml and MBSchema.xml files on disk when all recent changes have not yet been written to disk.A new history file is saved to disk for both files. Only after this, doesIIS stop.

The following process occurs when you restart IIS via the IIS Manager:

  1. The Metabase Storage Layer readsthe MetaBase.xml and MBSchema.xml files on disk.
  2. It converts both files to the binaryformat.
  3. Admin Base Objects (ABO) is usedto write the metabase to the IIS file cache.
  4. ABO also creates the in-memorymetabase nodes.

IIS automatically generates history files which are located in the WindowsSystem32InetsrvHistory folder. The history files are basically versioned copies of the metabase. A history file is generated when the flowing events occur:

  • Configuration changes are made after the in-memory metabase was already flushed to disk.
  • IIS flushes the in-memory metabase to disk.

A history file consists of the following components:

  • Copy of the in-memory MetaBase.xmlnode
  • Copy of the in-memory MBSchema.xmlnode

A history file has a major version number and a minor version number. The major version number is incremented by one when IIS flushes the in-memory metabase to disk. IIS flushes the in-memory metabase to disk when the following events occurs, thereby creating the major version number:

  • IIS is stopped using the IIS Manager or the net stop iisadmin command; or IIS is restarted using the IIS Manager.
  • IIS configuration changes are saved to disk using the All Tasks | Save Configuration To Disk option.
  • IIS automatically flushes pending in-memory metabase changes to disk.

The minor version number is incremented by one when changes have been manually made to the metabase files on disk. The minor version number is reset to zero when the MetaBase.xml and MBSchema.xml files are flushed to disk. This occurs when the major version number is incremented by one.

The history files for the two types of metabase files are called:

  • Metabase_majorversion_minorversion.xml,for the MetaBase.xml file
  • MBSchema_majorversion_minorversion.xml,for the MBSchema.xml file

Metabase Flushing

Metabase flushing is the terminology utilized to refer to the events when IIS overwrites the MetaBase.xml and MBSchema.xml files located in the System32Inetsrv folder with the in-memory metabase. This results in new history files being created in the System32InstsrvHistory folder. IIS flushes the in-memory metabase when the events listed below occur:

  • IIS is stopped using the IIS Manager or the net stop iisadmin command; or IIS is restarted using the IIS Manager.
  • IIS configuration changes are saved to disk using the All Tasks | Save Configuration To Disk option.
  • IIS automatically flushes pending in-memory metabase changes to disk.
  • IIS automatically restarts when the IIS Admin service is terminated in any abnormal manner. This would only occur if the Automatic Restart feature of IIS is enabled.
  • IIS configuration is backed up via the IIS Manager or from the command line.
  • Iiscnfg /save is utilized from the command line. Iiscnfg.vbs is a WMI script. The IIS management tasks that can be performed using Iiscnfg.vbs are:
    • Save IIS configuration to disk.
    • Copy IIS configuragtion.
    • Export and import IIS configuration.

How to edit the metabase

With IIS 6, you can use any of the following approaches to edit the metabase:

  • Stop IIS, and then manually edit the metabase. Stopping IIS would result in no users being able to accessthe IIS server.
  • Enable the new Direct MetabaseEdit feature, and then manually edit the metabase. When Direct MetabaseEdit is enabled, changes can be made to the metabase without disconnectingusers from the IIS server.

When the Direct Metabase Edit feature is enabled, you can use a text editor such as Notepad to make changes to the MetaBase.xml file. You can also programmatically change the MetaBase.xml file using scripts. When you save the changes you make to the MetaBase.xml file, IIS copies the MetaBase.xml file to the in-memory metabase. There is though a slight time lapse between when the actual changes are saved, and when it is copied to the in-memory metabase. This is due to the response time of the Windows file change notification service.

To enable the Direct Metabase Edit feature using IIS Manager,

  1. Open IIS Manager.
  2. Right-click the IIS server node in the console tree, and select Properties from the shortcut menu.
  3. When the Properties dialogbox opens, select the Enable Direct Metabase Edit checkbox.
  4. Click OK.

To enable the Direct Metabase Edit feature using the command line,

  1. Open a command prompt on the IIS server.
  2. Enter iisreset /stop to stop IIS running on the server.
  3. Use a text editor to open the MetaBase.xmlfile.
  4. To enable the Direct Metabase Edit feature, change the value of the EnableEditWhileRunning property to 1.
  5. Save this change to the MetaBase.xmlfile.
  6. Enter iisreset /start to restart IIS.

Before making changes to the metabase, whether it is manually or programmatically; it is recommended to first back up the metabase.

How to back up the metabase

IIS creates a metabase backup when it is initially installed, in the System32InetsrvMetaBack folder. IIS also creates history files as backups of the metabase. You can however manually backup the metabase as well.

To back up the metabase using IIS Manager,

  1. Right-click the IIS server whose metabase you want to back up, select All Tasks from the shortcut menu, and then select Backup/Restore Configuration.
  2. The Configuration Backup/Restoredialog box opens. The Configuration Backup/Restore dialog box displays the following information:
    • The initial configuration backups created when IIS was first installed.
    • All manually created backups.
    • All history files.
  3. Click the Create Backup button to back up the metabase.
  4. When the Configuration Backup dialog box opens, enter a name for the backup and a password for securing the backup.
  5. Click OK.
  6. The newly created backup is now listed in the Backup list box of the Configuration Backup/Restore dialogbox.
  7. All backup files are in the following folder:
    • Systemroot%System32 inetservMetaBack
      • An .md0 file extension indicates a metabase backup file
      • An .sc0 file extension indicates a metabase schema backup file

An Overview of the IIS Metabase

With the introduction of IIS 4, came the introduction of the metabase. IIS configuration information was no longer stored in the Registry, but in the new metabase structure. Some IIS configuration settings however still remained stored in the Registry, under the following keys:

  • HKLMSOFTWAREMicrosoftInetMgrParameters.
  • HKLMSYSTEMCurrentControlSetServicesInetInfoParameters.
  • HKLMSYSTEMCurrentControlSetServicesASPParameters.
  • HKLMSYSTEMCurrentControlSetServicesHttpParametersLogBufferSize.
  • HKLMSYSTEMCurrentControlSetServicesW3SVCParameters.
  • HKLMSYSTEMCurrentControlSetServicesMSFTPSVCParameters.

In IIS 4, separating the majority of IIS configuration settings into the metabase; speeded up access to the information. The issue with the metabase in IIS 4 and IIS 5 was that it was a binary file. This meant that it could not directly be modified by administrators.

With IIS 6 came the new improved metabase. The most significant enhancement to the metabase in IIS 6 is that the binary format has been discarded. In IIS 6, the metabase is formatted as a plain text file using the Extensible Markup Language (XML). This means that you can edit the metabase using a text editor such as Notepad. In addition, whether changes are made manually or programmatically to the metabase, you no longer need to stop and restart IIS. You can use the Windows Management Instrumentation (WMI) or the Active Directory Services Interface (ADSI) to make changes to the metabase. You can also copy configuration settings from one IIS machine to another IIS machine. You can copy a particular website or virtual directory, or you can copy all IIS configurations.

The new IIS 6 metabase history feature tracks changes to the metabase, and then automatically saves backups of the metabase. This enables you to revert to a previously saved version when you experience problems with current configuration settings.

The IIS 6 version of the metabase no longer consists of only one metabase file (metabase.bin) but two metabase files, namely:

  • MetaBase.xml: This XML formattedfile holds the IIS configuration data.
  • MBSchema.xml: This XML formattedfile holds the schema information for the MetaBase.xml file.

Both MetaBase.xml and MBSchema.xml are located under WindowsSystem32Inetsrv. Access to the files is controlled by:

  • Administrators, Full Control; and SYSTEM,Full Control.

Management of the metabase functions lies with the IIS Admin service, inetinfo.exe. The responsibilities of inetinfo.exe are:

  • Metabase Storage Layer and Admin Base Objects: The Metabase Storage Layer formats the MetaBase.xml andMBSchema.xml files from disk and the converts them from XML to binaryformat when a Windows Server 2003 IIS machine boots. Admin Base Objects (ABO)is used to write the metabase to the IIS file cache.
  • Tracks any changes which are made to the metabase files.
  • Responsible for the metabase history feature. When changes are made to the metabase, the metabase historyfeature automatically saves backup copies of the metabase.
  • Responsible for the synchronization of the in-memoryversion and on disk version of the metabase files.

The following process occurs when you stop IIS via the IIS Manager:

  1. IIS first checks the in-memorymetabase to verify that all recent changes are written to disk.
  2. IIS stops if all recently madechanges have been written to disk.
  3. The in-memory metabase overwritesthe MetaBase.xml and MBSchema.xml files on disk when all recent changes have not yet been written to disk.A new history file is saved to disk for both files. Only after this, doesIIS stop.

The following process occurs when you restart IIS via the IIS Manager:

  1. The Metabase Storage Layer readsthe MetaBase.xml and MBSchema.xml files on disk.
  2. It converts both files to the binaryformat.
  3. Admin Base Objects (ABO) is usedto write the metabase to the IIS file cache.
  4. ABO also creates the in-memorymetabase nodes.

IIS automatically generates history files which are located in the WindowsSystem32InetsrvHistory folder. The history files are basically versioned copies of the metabase. A history file is generated when the flowing events occur:

  • Configuration changes are madeafter the in-memory metabase was already flushed to disk.
  • IIS flushes the in-memory metabaseto disk.

A history file consists of the following components:

  • Copy of the in-memory MetaBase.xmlnode.
  • Copy of the in-memory MBSchema.xmlnode.

A history file has a major version number and a minor version number. The major version number is incremented by one when IIS flushes the in-memory metabase to disk. IIS flushes the in-memory metabase to disk when the following events occurs, thereby creating the major version number:


  • IISis stopped using the IIS Manager or the net stop iisadmin command; or IIS is restarted using the IIS Manager.
  • IIS configuration changes aresaved to disk using the All Tasks | Save Configuration To Disk option.
  • IIS automatically flushes pendingin-memory metabase changes to disk.
Илон Маск рекомендует:  Командная строка

The minor version number is incremented by one when changes have been manually made to the metabase files on disk. The minor version number is reset to zero when the MetaBase.xml and MBSchema.xml files are flushed to disk. This occurs when the major version number is incremented by one.

The history files for the two types of metabase files are called:

  • Metabase_majorversion_minorversion.xml,for the MetaBase.xml file.
  • MBSchema_majorversion_minorversion.xml,for the MBSchema.xml file.

Metabase Flushing

Metabase flushing is the terminology utilized to refer to the events when IIS overwrites the MetaBase.xml and MBSchema.xml files located in the System32Inetsrv folder with the in-memory metabase. This results in new history files being created in the System32InstsrvHistory folder. IIS flushes the in-memory metabase when the events listed below occur:

  • IISis stopped using the IIS Manager or the net stop iisadmin command; or IIS is restarted using the IIS Manager.
  • IIS configuration changes aresaved to disk using the All Tasks | Save Configuration To Disk option.
  • IIS automatically flushes pendingin-memory metabase changes to disk.
  • IIS automatically restarts whenthe IIS Admin service is terminated in any abnormal manner. This wouldonly occur if the Automatic Restart feature of IIS is enabled.
  • IIS configuration is backed up viathe IIS Manager or from the command line.
  • Iiscnfg /save is utilized from thecommand line. Iiscnfg.vbs is a WMI script. The IIS management tasks thatcan be performed using Iiscnfg.vbs are:
    • Save IIS configuration to disk.
    • Copy IIS configuragtion
    • Export and import IIS configuration

How to edit the metabase

With IIS 6, you can use any of the following approaches to edit the metabase:

  • Stop IIS, and then manually editthe metabase. Stopping IIS would result in no users being able to accessthe IIS server.
  • Enable the new Direct MetabaseEdit feature, and then manually edit the metabase. When Direct MetabaseEdit is enabled, changes can be made to the metabase without disconnectingusers from the IIS server.

When the Direct Metabase Edit feature is enabled, you can use a text editor such as Notepad to make changes to the MetaBase.xml file. You can also programmatically change the MetaBase.xml file using sripts. When you save the changes you make to the MetaBase.xml file, IIS copies the MetaBase.xml file to the in-memory metabase. There is though a slight time lapse between when the actual changes are saved, and when it is copied to the in-memory metabase. This is due to the response time of the Windows file change notification service.

To enable the Direct Metabase Edit feature using IIS Manager,

  1. Open IIS Manager.
  2. Right-click the IIS server node inthe console tree, and select Properties from the shortcut menu.
  3. When the Properties dialog boxopens, select the Enable Direct Metabase Edit checkbox.
  4. Click OK.

To enable the Direct Metabase Edit feature using the command line,

  1. Open a command prompt on the IIS server.
  2. Enter iisreset /stop to stop IIS running on the server.
  3. Use a text editor to open the MetaBase.xmlfile.
  4. To enable the Direct Metabase Editfeature, change the value of the EnableEditWhileRunning property to 1.
  5. Save this change to the MetaBase.xmlfile.
  6. Enter iisreset /start to restart IIS.

Before making changes to the metabase, whether it is manually or programmatically; it is recommended to first back up the metabase.

How to back up the metabase

IIS creates a metabase backup when it is initially installed, in the System32InetsrvMetaBack folder. IIS also creates history files as backups of the metabase. You can however manually backup the metabase as well.

To back up the metabase using IIS Manager,

  1. Right-click the IIS server whosemetabase you want to back up, select All Tasks from the shortcut menu, andthen select Backup/Restore Configuration.
  2. The Configuration Backup/Restoredialog box opens. The Configuration Backup/Restore dialog box displays thefollowing information:
    • The initial configuration backups created when IIS was first installed.
    • All manually created backups.
    • All history files.
  3. Click the Create Backup button toback up the metabase.
  4. When the Configuration Backupdialog box opens, enter a name for the backup and a password for securingthe backup.
  5. Click OK.
  6. The newly created backup is nowlisted in the Backup list box of the Configuration Backup/Restore dialogbox.
  7. All backup files are in thefollowing folder:
    • Systemroot%System32 inetservMetaBack
      • An .md0 file extension indicates a metabase backup file.
      • An .sc0 file extension indicates a metabase schema backup file.

To restart IIS using the IIS Manager,

  1. Right-click the IIS server, selectAll Tasks on the shortcut menu, and then click Restart IIS.
  2. You can choose between thefollowing options:
    • Restart IIS.
    • Restart Server.
    • Stop IIS.
    • Start IIS.

You can use the Iisback.vbs WMI script to perform the management tasks listed below:

  • Back up and restore IISconfiguration data.
  • Delete IIS configuration data.
  • View, or list IIS configurationdata.

How to export the metabase

You can export portions of the metabase, or the entire metabase configuration information to a file. You can basically export the configuration settings for only a particular website or virtual directory, or you can export all configuration settings. You can also through exporting, create a metabase template file to copy configuration information to multiple IIS machines. You can export metabase configuration information by using the IIS Manager, or the Iiscnfg.vbs WMI script.

To export the metabase using the IIS Manager,

  1. Open the IIS Manager.
  2. Right-click the IIS server whoseconfiguration setting you want o export, select All Tasks on the shortcutmenu, and then click Save Configuration To A File.
  3. When the Save Configuration To AFile dialog box opens, enter a name for the file in the File Name textbox.
  4. Verify that the correct locationis specified in the Path checkbox.
  5. Select the Encrypt ConfigurationUsing Password checkbox.
  6. Click OK.

How to import the metabase

You can import previously exported files to the same IIS machine, or to a different IIS machine.

To import a previously exported file to the same IIS machine,

  1. Open the IIS Manager.
  2. Right-click the Web Sites node andselect New, and then Web Site (From File) from the shortcut menu.
  3. The Import Configuration dialogbox opens
  4. Click Browse to select the exportfile which you want to import.
  5. Click Read to display the configurationin the Location list box
  6. Select the site and click OK.
  7. Enter the password that was usedto encrypt the file when it was exported.
  8. Click OK.

In order to import a previously exported file from one IIS machine to a different IIS machine, the following preparation tasks need to be performed.

  • Delete or edit any referenceswithin the export file that are machine specific, such as
    • Deleting AdminACL properties, password properties and properties referencing IUSR or IWAM accounts.
    • Editing file system paths or locations which are different on the target machine.
  • Create the required folders on thetarget machine.
  1. Right-click the IIS server, select All Tasks on the shortcut menu, and then click Restart IIS.
  2. You can choose between the following options:
    • Restart IIS.
    • Restart Server.
    • Stop IIS.
    • Start IIS.

You can use the Iisback.vbs WMI script to perform the management tasks listed below:

  • Back up and restore IISconfiguration data.
  • Delete IIS configuration data.
  • View, or list IIS configurationdata.

How to export the metabase

You can export portions of the metabase, or the entire metabase configuration information to a file. You can basically export the configuration settings for only a particular website or virtual directory, or you can export all configuration settings. You can also through exporting, create a metabase template file to copy configuration information to multiple IIS machines. You can export metabase configuration information by using the IIS Manager, or the Iiscnfg.vbs WMI script.

To export the metabase using the IIS Manager,

  1. Open the IIS Manager.
  2. Right-click the IIS server whoseconfiguration setting you want o export, select All Tasks on the shortcut menu, and then click Save Configuration To A File.
  3. When the Save Configuration To A File dialog box opens, enter a name for the file in the File Name textbox.
  4. Verify that the correct locationis specified in the Path checkbox.
  5. Select the Encrypt Configuration Using Password checkbox.
  6. Click OK.

How to import the metabase

You can import previously exported files to the same IIS machine, or to a different IIS machine.

To import a previously exported file to the same IIS machine,

  1. Open the IIS Manager.
  2. Right-click the Web Sites node and select New, and then Web Site (From File) from the shortcut menu.
  3. The Import Configuration dialogbox opens.
  4. Click Browse to select the export file which you want to import.
  5. Click Read to display the configuration in the Location list box.
  6. Select the site and click OK
  7. Enter the password that was used to encrypt the file when it was exported.
  8. Click OK.

In order to import a previously exported file from one IIS machine to a different IIS machine, the following preparation tasks need to be performed.

  • Delete or edit any references within the export file that are machine specific, such as
    • Deleting AdminACL properties, password properties and properties referencing IUSR or IWAM accounts.
    • Editing file system paths or locations which are different on the target machine.
  • Create the required folders on the target machine.

Что такое код iis метабаза

Цель работы: приобретения практических навыков установки и настройки сервера приложений (IIS). Изучить диспетчер служб IIS.

Администраторам и разработчикам Web-приложений необходим надежный, легкоуправляемый, высокопроизводительный и защищенный Web-сервер. В Internet Information Services (IIS) 6.0 и Microsoft Windows Server 2003 есть много возможностей, обеспечивающих надежность, доступность, управляемость, масштабируемость и безопасность сервера Web-приложений.

IIS 6.0 — ключевой компонент платформы приложений Windows Server 2003 — представляет собой интегрированный набор сервисов и средств, обеспечивающих разработку и развертывание высокопроизводительных Web-сайтов, Web-приложений и Web-сервисов. К преимуществам IIS 6.0 относятся меньшее время плановых и внеплановых простоев, увеличенная доступность Web-сайта и приложения, меньшая стоимость администрирования системы, консолидация серверов (снижение затрат на персонал, оборудование и управление сайтом), а также значительное повышение безопасности Web-инфраструктуры.

Сервер приложений — роль сервера в семействе продуктов Windows Server 2003, которая сочетает в себе следующие серверные технологии:

Internet Information Services (IIS) 6.0 — Информационные службы Интернета (IIS) 6.0. Они являются полноценным веб-серверов, оптимизированным для запуска веб-приложений и служб на узле.

Microsoft .NET Framework — это компьютерная платформа, разработанная для упрощения разработки приложений в распределенной среде Интернета. Microsoft .NET Framework предоставляет среду для объектно-ориентированного программирования, гарантирующую безопасное выполнение кода, и исключает затруднения, связанные с обеспечением быстродействия сценариев. В Microsoft .NET Framework входят два основных компонента: общая языковая среда выполнения и библиотека классов Microsoft .NET Framework. ASP.NET использует общую языковую среду выполнения для предоставления таких базовых служб, как управление памятью, управления потоками и удаленный доступ, совмещенный со строгой системой защиты и другими формами, обеспечивающими безопасность и устойчивость кода. Основным назначением этой среды является управление кодом. Код, предназначенный для работы в ней, называется управляемым, а код, не предназначенный для работы в ней — неуправляемым. Библиотека классов Microsoft .NET Framework — обширное собрание повторно используемых объектов, которые можно применять при создании приложений ASP.NET.

ASP.NET — это часть Microsoft .NET Framework. ASP.NET представляет собой откомпилированную среду, основанную на технологии .NET. Имеется возможность создавать приложения на любом совместимом с .NET языке, в том числе на Visual Basic .NET, C# и JScript .NET. Кроме того, возможности среды .NET Framework, в том числе управляемая общая языковая среда времени выполнения, безопасность типов и наследование, доступны любому приложению ASP.NET

Active Server Pages (ASP) — активные серверные страницы. Страницы ASP являются средой создания серверных сценариев для разработки динамических интерактивных приложений веб-серверов. Они позволяют разработчикам объединять нужным образом страницы в формате HTML, команды сценариев и компоненты COM для создания мощных и гибких веб-приложений.

UDDI-сервисы. UDDI (Universal Description, Discovery and Integration) — это промышленный стандарт публикации и поиска сведений о веб-службах. В некоторые продукты семейства Windows Server 2003 включаются службы UDDI, веб-службы, обеспечивающие использование возможностей UDDI на предприятиях или в организациях. Службы UDDI являются стандартной веб-службой XML. Они позволяют разработчикам предприятия эффективно изучать, открывать совместный доступ и повторно использовать веб-службы непосредственно через средства разработки. Они не включены в Windows Server 2003, Web Edition. Кроме того, Windows Server 2003, Standard Edition поддерживает только изолированную установку служб UDDI. Поддержка распределенной установки доступна в Windows Server 2003, Enterprise Edition и Windows Server 2003, Datacenter Edition. При изолированной установке служб UDDI компоненты веб-сервера UDDI и баз данных UDDI устанавливаются на один компьютер. При распределенной установке компоненты UDDI распределены по нескольким серверам.

Илон Маск рекомендует:  Что такое сетка сайтов

COM+ — расширение модели объектных компонентов (COM). COM+ основано на интегрированных службах и свойствах COM, облегчая разработчикам создание и использование компонентов программного обеспечения на любом языке и используя любые средства.

В ОС Windows Server 2003 можно активизировать серверные расширения Microsoft FrontPage, которые позволяют создавать HTML-страницы для веб-узлов и редактировать их. Приложение FrontPage является редактором HTML с удобным графическим интерфейсом для выполнения таких задач, как вставка таблиц, рисунков и сценариев.

Типичный веб-сайт в Интернете не работает только на одном сервере. Теперь сайты распределены по множеству веб-серверов. Средства IIS 6.0 облегчают администрирование Web-сайтов. Хранилище конфигурационной информации IIS 6.0 представляет собой простые текстовые XML-файлы, что позволяет напрямую редактировать (с возможностью восстановления) конфигурацию метабазы даже во время работы сервера.

Метабаза — это иерархическое хранилище параметров конфигурации, используемых IIS 6.0. Она поддерживает наследование, типизацию данных, уведомление об изменениях и защиту. Конфигурация метабазы для IIS 4.0 и 5.0 хранилась в специальном двоичном файле, который не так-то легко было редактировать или читать. В IIS 6.0 двоичный файл, называвшийся MetaBase.bin, заменен на текстовые XML-файлы. Новая XML-метабаза улучшает управляемость сервера, позволяя:

напрямую и безопасно редактировать конфигурационную метабазу;
использовать эффективные утилиты командной строки (например windiff), системы контроля версий и средства редактирования;
откатывать изменения, внесенные в конфигурацию;
создавать архивы версий с копиями метабазы до каждого изменения;
клонировать конфигурации Web-сайта и приложений;
выполнять независимое от сервера резервное копирование и восстановление.

Такая XML-метабаза дает возможность администраторам легко читать и редактировать конфигурационные параметры напрямую, управляя Web-сервером без написания сценариев или кода. XML-метабаза значительно упрощает выявление потенциально возможных повреждений и позволяет расширять существующую схему, используя XML. Администраторы также могут читать и редактировать текущую конфигурацию метабазы напрямую через файл этой метабазы, сохраняя при этом стопроцентную совместимость с существующим API метабазы.

Сложность кода Web-сайтов и приложений постоянно возрастает. Динамические Web-сайты и приложения могут содержать неидеальный код, приводящий к утечкам памяти или вызывающий ошибки вроде нарушения доступа к памяти. Таким образом, Web-сервер должен выполнять роль активного диспетчера среды выполнения приложения, автоматически определяя ошибки приложения и реагируя на них. Сервер должен быть устойчивым к ошибкам в приложении и способным перезапустить сбойное приложение, продолжая накапливать в очереди запросы к нему и не препятствуя работе конечного пользователя. IIS 6.0 отличается новой отказоустойчивой архитектурой обработки запросов, которая предоставляет стабильную исполняющую среду с активным управлением, а также кардинально повышает надежность и масштабируемость благодаря применению новой модели изоляции процесса (называемую моделью изоляции рабочего процесса) в сочетании с такими усовершенствованиями, как поддержка кэширования и очередей в режиме ядра, что приводит к увеличению производительности.

Интеграция .NET Passport и IIS 6.0 позволяет использовать сервисы аутентификации .NET Passport в ядре Web-сервера. В .NET Passport 2.0 применяются интерфейсы, предоставляемые стандартными компонентами Passport, а именно шифрование Secure Sockets Layer (SSL), HTTP-перенаправление и cookie. Администраторы могут делать свои Web-сайты и приложения доступными всем пользователям .NET Passport, которых насчитывается более 150 000 000, не заботясь о проблемах управления учетными записями, например об истечении срока действия пароля или о генерации паролей.

В целях сужения возможностей для атак на Web-сервер после установки по умолчанию IIS 6.0 обслуживает только статический контент. Программируемая функциональность вроде расширений Internet Server Application Programming Interface (ISAPI) или Common Gateway Interfaces (CGI) должна устанавливаться администратором IIS 6.0 вручную. ISAPI и CGI расширяют функциональность Web-страниц и поэтому называются расширениями Web-сервиса. Например, для запуска ASP в IIS 6.0 ISAPI, реализующий ASP.DLL, должен быть явно включен как расширение Web-сервиса. Чтобы работали серверные расширения Microsoft FrontPage и ASP.NET, их тоже нужно активизировать вручную. Используя расширения Web-сервиса, администраторы Web-сайтов могут включать и выключать функции IIS 6.0 в зависимости от нужд организации. Эта функциональность распространяется на весь сервер. IIS 6.0 содержит программные, графические и запускаемые из командной строки средства для включения расширений Web-сервиса.

Операционная система Windows Server 2003 позволяет настроить данный сервер как сервера приложений. Для этого нам необходимо выполнить следующие действия: открыть оснастку «Управление данным сервером»; выбрать ссылку «Добавить или удалить роль»; на странице «Предварительные шаги» прочитать информацию о сетевых соединениях и подтвердить, что все они доступны; на странице «Параметры настройки» выбрать вариант «Особая конфигурация».

Что такое код iis метабаза

Дата последнего изменения раздела: 2007-02-13

Средство анализа Microsoft® Exchange Server пытается прочитать свойства экземпляра виртуального сервера протокола SMTP по следующему пути метабазы служб Microsoft IIS:

Средство анализа Exchange Server выводит на экран сообщение об ошибке, если выполняются следующие условия:

    Запрос к метабазе выполнен неудачно.

Сервер Exchange Server запущен не на платформе Microsoft Windows NT® Server 4.0.

Эта ошибка означает, что средство анализа сервера Exchange Server не может подключиться к метабазе служб IIS.

Метабаза служб IIS содержит такие данные, оказывающие влияние на работу сервера Exchange Server, как параметры протокола HTTP, виртуальные каталоги для доступа к почтовым ящикам и мобильным устройствам, а также параметры безопасности HTTP.

Для разрешения данной проблемы проверьте целостность метабазы и убедитесь, что службы IIS установлены правильно.

Для того чтобы убедиться в том, что метабаза не повреждена, а службы IIS установлена правильно, см. следующие ресурсы:

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

Удаление служб IIS с помощью средства «Установка компонентов Windows» в панели управления

Нажмите кнопку Пуск и выберите пункт Панель управления.

Дважды щелкните значок Установка и удаление программ.

Выберите пункт Установка компонентов Windows.

В списке Компоненты установите флажок Сервер приложений.

Нажмите кнопку Состав.

Щелкните Диспетчер служб IIS.

Нажмите кнопку Далее.

После завершения удаления IIS нажмите кнопку Готово.

Нажмите кнопку Пуск и выберите пункт Панель управления.

Дважды щелкните значок Установка и удаление программ.

Выберите пункт Установка компонентов Windows.

В списке Компоненты установите флажок Сервер приложений.

Нажмите кнопку Состав.

Установите флажок Диспетчер служб IIS.

Нажимайте кнопку ОК, пока не вернетесь в мастер компонентов Windows.

Нажмите кнопку Далее и завершите работу мастера компонентов Windows.

IIS: Как получить путь метабазы?

я пытаюсь получить список типов пантомимы, известных серверу IIS ( который, как вы видите, был задан и получен мной ответ 2 года назад ). Вставленный в копию ответ включает в себя:

Вы поняли идею. Все согласны с тем, что вы используете магический путь iis: // localhost / mimemap . И это прекрасно работает, за исключением случаев, когда это не так.

Единственная подсказка, которую я могу найти относительно того, почему это терпит неудачу, от IIS MVP, блог Криса Кроу :

Здесь есть две подсказки:

  1. Он вызывает iis://localhost/mimemap как путь метабазы . Что звучит для меня так, будто это какой-то « путь » к « метабазе ».
  2. Он говорит, что путь к метабазе может быть чем-то другим; и он приводит пример того, что это может быть.

Прямо сейчас я и вся планета жестко кодируем » MetabasePath » как

Что это должно быть на самом деле? Что должен делать код для создания допустимого MetabasePath?

Примечание: я не получаю ошибку об отказе в доступе, ошибка такая же, когда у вас неверный MetabasePath, например, iis://localhost/SoTiredOfThis

2 ответа

Если вы работаете с конфигурацией IIS вашего локального компьютера, т.е. ваш код и IIS находятся в одном окне, то достаточно указать:

Часть IIS: также называется прозвищем на языке OLE.

Если вы откроете файл метабазы IIS6 ( C:\Windows\System32\inetsrv\metabase.xml ), вы увидите большой «блоб» XML. Это на самом деле уплощенная древовидная структура.

Пути в метабазе представлены атрибутами Location .

Моникер IIS://localhost отображается на путь Location /LM который фактически является корнем дерева.

Моникер IIS://localhost/MimeMap отображается на путь расположения /LM/MimeMap .

Если ваш код обращается к метабазе на удаленных компьютерах, то вместо указания IIS://localhost/[path] можно указать IIS://[RemoteMachineName]/[path] . Вот что означает комментарий Криса Кроуза.

IIS://localhost/MimeMap также является основным списком Mime Type. Все сайты наследуют этот список (метабаза IIS сильно зависит от унаследованных свойств).

Если вы хотите переопределить типы Mime для определенного сайта, вы должны изменить:

Полезно открыть файл метабазы IIS и покопаться, чтобы понять, что происходит под капотом.

Обновить:

Чтобы ответить на ваш вопрос о том, почему вы можете создать объект DirectoryEntry путь которого недопустим, DirectoryEntry — это объект-оболочка общего назначения, используемый для привязки к различным типам поставщиков ADSI, таким как IIS, LDAP и WinNT. Это позволяет создавать объекты DirectoryEntry где не обязательно может быть соответствующий объект по указанному пути. Некоторые операции поставщика ADSI могут требовать этой возможности.

В DirectoryEntry Exists статический метод Exists , который можно использовать для проверки существования объектов. Например:

IIS: Как получить путь метабазы?

я пытаюсь получить список типов пантомимы, известных серверу IIS ( который, как вы видите, был задан и получен мной ответ 2 года назад ). Вставленный в копию ответ включает в себя:

Вы поняли идею. Все согласны с тем, что вы используете магический путь iis: // localhost / mimemap . И это прекрасно работает, за исключением случаев, когда это не так.

Единственная подсказка, которую я могу найти относительно того, почему это терпит неудачу, от IIS MVP, блог Криса Кроу :

Здесь есть две подсказки:

  1. Он вызывает iis://localhost/mimemap как путь метабазы . Что звучит для меня так, будто это какой-то « путь » к « метабазе ».
  2. Он говорит, что путь к метабазе может быть чем-то другим; и он приводит пример того, что это может быть.

Прямо сейчас я и вся планета жестко кодируем » MetabasePath » как

Что это должно быть на самом деле? Что должен делать код для создания допустимого MetabasePath?

Примечание: я не получаю ошибку об отказе в доступе, ошибка такая же, когда у вас неверный MetabasePath, например, iis://localhost/SoTiredOfThis

Если вы работаете с конфигурацией IIS вашего локального компьютера, т.е. ваш код и IIS находятся в одном окне, то достаточно указать:

Часть IIS: также называется прозвищем на языке OLE.

Если вы откроете файл метабазы IIS6 ( C:\Windows\System32\inetsrv\metabase.xml ), вы увидите большой «блоб» XML. Это на самом деле уплощенная древовидная структура.

Пути в метабазе представлены атрибутами Location .

Моникер IIS://localhost отображается на путь Location /LM который фактически является корнем дерева.

Моникер IIS://localhost/MimeMap отображается на путь расположения /LM/MimeMap .

Если ваш код обращается к метабазе на удаленных компьютерах, то вместо указания IIS://localhost/[path] можно указать IIS://[RemoteMachineName]/[path] . Вот что означает комментарий Криса Кроуза.

IIS://localhost/MimeMap также является основным списком Mime Type. Все сайты наследуют этот список (метабаза IIS сильно зависит от унаследованных свойств).

Если вы хотите переопределить типы Mime для определенного сайта, вы должны изменить:

Полезно открыть файл метабазы IIS и покопаться, чтобы понять, что происходит под капотом.

Чтобы ответить на ваш вопрос о том, почему вы можете создать объект DirectoryEntry путь которого недопустим, DirectoryEntry — это объект-оболочка общего назначения, используемый для привязки к различным типам поставщиков ADSI, таким как IIS, LDAP и WinNT. Это позволяет создавать объекты DirectoryEntry где не обязательно может быть соответствующий объект по указанному пути. Некоторые операции поставщика ADSI могут требовать этой возможности.

В DirectoryEntry Exists статический метод Exists , который можно использовать для проверки существования объектов. Например:

Code Wala

Designing and coding

Tag Archives: IIS metabase

Failed to access IIS metabase

Few days back, I formatted my system due to some virus.. Then again installed OS and VS2008 for my learning.I am in habit of using integrated webserver with Visual studio.

But later,I thought of deploying one WCF service. So when I deployed my service and tried to access, It started barfing me.This was running smoothly prior to formatting my system.

I kept trying to resolve this issue but it took a lot of time.Finally it started running as earlier.

Root Cause: Acually after installation of my OS Windows XP, I installed .net framework and Visual studio.Then when I needed IIS, I installed it.

Cause was, ASPNET user does not had sufficient rights over IIS

Solution:Install aspnet using command aspnet_regiis -i as

then reset iis using iisreset command in command propmpt..

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL