So legen Sie die Einstellungen für den Recaptcha-Schlüssel zur Laufzeit fest

8

Ich implementiere das Steuerelement recaptcha von Google.

Ich habe aus ihrem Beispiel und allen Arbeiten ein einfaches c # -Testprojekt erstellt. Anstatt PublicKey und PrivateKey auf der ASPX-Seite zu haben, würde ich diese Werte lieber zur Laufzeit zuweisen, da sie höchstwahrscheinlich entweder aus web.config oder aus einer Datenbanktabelle abgerufen werden.

Ich habe Folgendes in Page_Load

versucht %Vor%

, aber ich bekomme eine Fehlermeldung, dass "reCAPTCHA mit einem öffentlichen & amp; privaten Schlüssel konfiguriert werden muss."

Ich habe auch versucht, die Oninit-Methode der Seite zu überschreiben und die Werte dort zuzuordnen, aber keine Freude.

Irgendwelche Ideen, wohin das gehen soll?

    
NotMe 25.06.2010, 15:37
quelle

2 Antworten

16

Verwenden Sie den Wert von setincodebehind in Ihrem Tag wie folgt:

%Vor%

Damit sollten Sie die Schlüssel im Codebehind richtig setzen. Es gibt ein paar andere Möglichkeiten, es auch zu tun. Zum Beispiel können Sie die Werte von einer statischen Klasse wie folgt erhalten:

%Vor%

Wo RecaptchaSettings ist eine Klasse, die Sie bereitstellen. Oder Sie könnten die Schlüssel in einen appSettings -Abteil Ihrer web.config-Datei einfügen und so auf sie zugreifen:

%Vor%

Ich hoffe, das hilft.

    
matt 25.06.2010, 17:15
quelle
2

Eine weitere Möglichkeit, Schlüsselwerte festzulegen, verwenden Sie <appSettings> keys RecaptchaPublicKey und RecaptchaPrivateKey . Diese Werte werden automatisch verwendet, es sei denn, sie werden während der Steuerelementdeklaration überschrieben ( mjd79's Antwort , erster Weg).

Pro : Wenn Sie mehrere Deklarationen haben, müssen Sie die Schlüssel nur an einem Ort aufbewahren, DRY-Prinzip.

Dieses Verhalten kann über den Quellcode gesehen werden, RecaptchaControl.cs, Zeile 135 -... :

%Vor%     
Adrian Godong 29.06.2010 22:46
quelle

Tags und Links