2012-04-01 6 views
1

in meiner C# -Anwendung verwende ich HTTPWebrequest, um eine Verbindung zu mehreren Maschinen herzustellen (eine pro Maschine) Ich benutze ServicePointManager.ServerCertificateValidationCallback, um Hostnamen-Mismatch-Fehler zu ignorieren. Ich möchte einen anderen Rückruf für jede Maschine. Für einen Teil der Maschinen möchte ich den Fehler ignorieren, und ein Teil von ihnen nicht. da diese Eigenschaft statisch ist, habe ich es nicht geschafft, wenn der Fehler auftaucht, werden alle Callbacks aufgerufen. Wie kann ich diesen Rückruf für jede Maschine durchführen und nicht einen pro Anwendung?ServerCertificateValidationCallback - mehrere Rückrufe

dank

+0

Können Sie den Code teilen, den Sie verwenden, um Ihren Rückruf einzurichten? –

Antwort

1

Sie könnten eine Fabrik der Validierung Rückrufe haben, die ein anderer Rückruf je nach Zertifikat zurückkommen würden.

Dann in der statischen freigegebenen Callback Sie auf die Fabrik beziehen, einen richtigen Rückruf erhalten und es ausführen.

+0

Dies könnte auch für den Parameter 'sender' erfolgen, obwohl es sich um ein 'Objekt' handelt, das zuerst z. eine 'WebRequest'. –