Fehlermeldung „Cannot add duplicate collection entry of type with unique key attribute set to ...“

Refers to:

  • Plesk for Windows

Created:

2016-11-16 12:42:35 UTC

Modified:

2016-12-21 19:01:43 UTC

0

Was this article helpful?


Have more questions?

Anfrage einreichen

Fehlermeldung „Cannot add duplicate collection entry of type with unique key attribute set to ...“

Kennzeichen

Die Änderung des ASP-Status in den Domain-Einstellungen von Plesk schlägt fehl und es wird folgende Fehlermeldung angezeigt:

`Error: Cannot add duplicate collection entry of type 'add' with unique key attribute 'name' set to 'ASPClassic'`

ODER

Auf die IIS-Einstellungen für eine Domain in Plesk kann nicht zugegriffen werden. Der Vorgang schlägt mit folgender Fehlermeldung fehl:

Internal error: Filename: \\\\?\\C:\\Windows\\system32\\inetsrv\\config\\applicationHost.config Line number: 182673 Error: Cannot add duplicate collection entry of type 'mimeMap' with unique key attribute 'fileExtension' set to '.woff' In module Exception type:System.Runtime.InteropServices.COMException at Microsoft.Web.Administration.Interop.AppHostWritableAdminManager.GetAdminSection(String bstrSectionName, String bstrSectionPath) at Microsoft.Web.Administration.Configuration.GetSectionInternal(ConfigurationSection section, String sectionPath, String locationPath) at ServerManagerFactory.getSectionInternal(String sectionPath, Type sectionType, String location) at ServerManagerFactory.getStaticContentSection(String location) at IISVirtualDir.getMimeMap(IISVirtualDir* , map<std::basic_string<wchar_t\\,std::char_traits<wchar_t>\\,std::allocator<wchar_t> >\\,std::basic_string<wchar_t\\,std::char_traits<wchar_t>\\,std::allocator<wchar_t> >\\,std::less<st
d::basic_string<wchar_t\\,std::char_traits<wchar_t>\\,std::allocator<wchar_t> > >\\,std::allocator<std::pair<std::basic_string<wchar_t\\,std::char_traits<wchar_t>\\,std::allocator<wchar_t> > const \\,std::basic_string<wchar_t\\,std::char_traits<wchar_t>\\,std::allocator<wchar_t> > > > >* mimeTypes) at getMimeTypes(example.com, )(WebServerAdapter::getMimeTypes line 1491) at execute console command --get-mime-types(vconsoleapp::start line 100) at execute "C:\\Program Files (x86)\\Parallels\\Plesk\\admin\\bin64\\websrvmng.exe" --get-mime-types "--vhost-name=example.com" "--vdir-name=/"(vconsoleapp::run line 117) (Error code 1)

Ursache

Wie die Fehlermeldung zeigt, gibt es doppelte Auflistungseinträge für den entsprechenden erwähnten Parameter ( ASPClassic beispielsweise). Die Website übernimmt diese Einstellungen von einer globalen Ebene. Das heißt, der Auflistungseintrag wurde sehr wahrscheinlich bereits in der globalen Konfiguration definiert.

Lösung

  1. Erstellen Sie ein Backup der aktuellen IIS-Konfiguration, indem Sie den folgenden Befehl in cmd.exe verwenden:

    %windir%\\system32\\inetsrv\\appcmd.exe add backup "My Backup Name"
  2. Öffnen Sie die Datei %windir%\\system32\\inetsrv\\config\\applicationHost.config in einem Texteditor und suchen Sie den Abschnitt mit der Website-Konfiguration:

    <location path="example.com">
  3. Suchen Sie in diesem Abschnitt nach <handlers> und entfernen Sie die Zeichenkette, die mit dem in der Fehlermeldung erwähnten Auflistungseintrag beginnt ( ASPClassic ):

    <add name="ASPClassic" path="*.asp" verb="GET,HEAD,POST,TRACE" modules="IsapiModule" scriptProcessor="C:\\Windows\\System32\\inetsrv\\asp.dll" resourceType="Either" />
  4. Speichern Sie die Änderungen in der Datei %windir%\\system32\\inetsrv\\config\\applicationHost.config und versuchen Sie, die fehlgeschlagene Aktion erneut durchzuführen.

    HINWEIS: Wenn der Fehler erneut mit einem anderen Attribut 'name' auftritt, sollten Sie auch dieses aus dem Abschnitt <handlers> auf dieselbe Weise wie oben beschrieben löschen.

Eine weitere Möglichkeit zur Behebung des Problems:

  • Öffnen Sie den IIS-Manager und entfernen Sie die Domain

  • Rufen Sie folgenden Befehl in cmd.exe auf:

    %plesk_dir%\\bin\\repair.exe --reconfigure-web-site -web-site-name example.com
Haben Sie Fragen? Anfrage einreichen
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.