public class MyX509UsernameValidator : UserNamePasswordValidator { public override void Validate(string userName, string password) { try { if (string.IsNullOrEmpty(userName)) throw new ArgumentNullException("userName"); if (string.IsNullOrEmpty(password)) throw new ArgumentNullException("password"); if (userName != "msky" || password != "msky") throw new SecurityTokenException("用户名或者密码错误!"); } catch (System.Exception ex) { Console.WriteLine(ex.Message); throw; } } }
这个函数若验证失败就要抛出一个异常才能,这样做好么,我看网上大多数都是这样写的,这个函数微软为什么要这样设计,如果频繁的抛出异常,对服务器不是一种负担么?小白求解,大家见笑了
异常跟负担没有关系,比如底层函数 int Fun -1 上面封装成Exception,异常通常都是被定义的。
o,那我理解有问题,只是我调试程序的时候,一抛出异常调试就很慢
@MSky: 肯定慢三,定义了那么多信息,还要处理堆栈信息