首页 新闻 搜索 专区 学院

WCF自定义验证中重写的验证方法疑问

0
[已解决问题] 解决于 2016-12-30 16:19
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;
            }
        }
    }

这个函数若验证失败就要抛出一个异常才能,这样做好么,我看网上大多数都是这样写的,这个函数微软为什么要这样设计,如果频繁的抛出异常,对服务器不是一种负担么?小白求解,大家见笑了

MSky的主页 MSky | 菜鸟二级 | 园豆:436
提问于:2016-12-30 14:51
< >
分享
最佳答案
0

异常跟负担没有关系,比如底层函数 int Fun -1 上面封装成Exception,异常通常都是被定义的。 

奖励园豆:5
花飘水流兮 | 专家六级 |园豆:12985 | 2016-12-30 15:55

 o,那我理解有问题,只是我调试程序的时候,一抛出异常调试就很慢

MSky | 园豆:436 (菜鸟二级) | 2016-12-30 16:19

@MSky: 肯定慢三,定义了那么多信息,还要处理堆栈信息

花飘水流兮 | 园豆:12985 (专家六级) | 2016-12-30 16:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册