Ich habe eine Webanwendung mit einem benutzerdefinierten Konfigurationsabschnitt. Dieser Abschnitt enthält Informationen, die ich gerne verschlüsseln würde (ich wollte ASPNet_RegIIS verwenden, anstatt es selbst zu tun).Verwenden von ASPNet_Regis zum Verschlüsseln des benutzerdefinierten Konfigurationsabschnitts - können Sie das tun?
Web.Config:
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<configSections>
<section name="MyCustomSection"
type="MyNamespace.MyCustomSectionHandler, MyAssembly"/>
</configSections>
<configProtectedData>
<providers>
<clear />
<add name="DataProtectionConfigurationProvider"
type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a,
processorArchitecture=MSIL"
keyContainerName="MyKeyContainer"
useMachineContainer="true" />
</providers>
</configProtectedData>
<MyCustomSection>
<blah name="blah1">
<blahChild name="blah1Child1" />
</blah>
</MyCustomSection>
Die Konfiguration Handler funktioniert gut, bevor Sie versuchen, es zu verschlüsseln. Wenn ich versuche, es zu verschlüsseln mit:
aspnet_regiis -pef "MyCustomSection" c:\inetpub\wwwroot\MyWebsite -prov DataProtectionConfigurationProvider
bekomme ich einen Fehler:
Encrypting configuration section... An error occurred creating the configuration section handler for MyCustomSection: Could not load file or assembly 'MyAssembly' or one of its dependencies. The system cannot find the file specified. (c:\inetpub\wwwroot\MyWebsite\web.config line 5)
Ich habe versucht, mit/ohne den Provider konfiguriert. Mit/ohne Abschnittsgruppen. Mit/ohne vorher die Website gestartet zu haben. Ich habe versucht, meine Assembly vorübergehend für die Registrierung in den GAC zu stellen. Ich habe auch meinen log4net-Bereich ausprobiert, nur um etwas zu versuchen, das nicht mein war, ohne Glück. Ich habe die Eingabeaufforderung als Administrator ausgeführt. Irgendwelche Ideen? Oder kann ASPNet_RegIIS einfach nicht für benutzerdefinierte Abschnitte verwendet werden?
Ein letzter Schuss nach der Anzeige MSDN änderte meine Handler von ConfigurationSection zu erben, anstatt IConfigurationSectionHandler zu implementieren, da es in 2.0 technisch veraltet war (in der Hoffnung, es war etwas in Bezug auf aspnet_regiis Version). Auch kein Glück.
Irgendwelche Ideen lassen Sie mich wissen. Vielen Dank!
Ich habe das gleiche Problem. Ich denke nicht, dass es einen Weg gibt, das funktionieren zu lassen, ohne die Assembly in den gac oder den Hack in der Antwort unten zu setzen. –
Ich war es leid, damit zu spielen - also ging ich einfach mit der Montage der Baugruppe in den gac vorübergehend. –