Vérification du nom d'utilisateur et du mot de passe en C #
-
12-11-2019 - |
Question
J'ai une application qui obtient une adresse e-mail et un mot de passe GMail à partir d'une table de base de données, et de la vérifier, avant d'envoyer un message à l'aide de ces e-mails, mais la partie suivante me renvoie une exception, chaque fois qu'une erreur de validation se produit.
new System.Net.NetworkCredential(username, password);
Comment puis-je vérifier que le nom d'utilisateur et le mot de passe sont corrects sans lancer une exception lors de l'exécution?
La solution
Cette réponse a été fournie afin de déterminer la nature exacte du problème car le code initialement publié était insuffisant.
Selon le Documentation Le constructeur ne soulève pas d'exception - sauf si vous utilisez le version qui prend un SecureString
pour le mot de passe.
Dans ce cas, il soulève un NotSupportedException
Si la classe Securestring n'est pas prise en charge.
Quelle exception est réellement élevée?
Autres conseils
Documentation pour NetworkCredential(string, string)
ne dit rien sur les exceptions. Mono la mise en oeuvre Ne lance pas non plus des exceptions dans le constructeur.
Obtenez-vous une exception lorsque vous essayez de envoyer un email?
Dans les deux cas, enveloppez-le dans un try/catch
bloquer. C'est ainsi que les exceptions sont censées être gérées.
Si vous êtes nouveau dans des exceptions, assurez-vous également de lire Post d'Eric À ce sujet, il se rapporte directement à votre question.