更多
2021年01月03日 22点37分 作者:叶飞 修改

MVC:异步Action:实现 / 性能分析

Async报错比如我们试图在MVC项目中调用异步的方法:(复习)client.SendAsync(mail, "success");client.SendMailAsync(mail);就会收到这样一个错误:为什么呢?我们知道:IIS本身是多线程(复习)的,且一个线程对应(处理)一个Request请求,请求处理完毕发送response到客户端,over,线程回收。如果我们直接引入异步方法,就很有可能:响应request的同步方法已经执行完毕,将response返回给客户端,而异步方法还没有执行完毕等异步方 ……

MVC 异步Action
2021年01月03日 21点34分 作者:叶飞 修改

发送Email:SMTP / MailMessage / SmtpClient

发送EmailEmail并不能在用户之间直接传递,而是依赖于邮件的:发送服务器(如下图:smtp.163.com)接收服务器(如下图:pop.qq.com)发送方(sender)将email推送给邮件发送服务器。这一过程可以由用户登录邮箱网站完成,或使用其他邮箱软件(如outlook)推送163.com按邮件收件人地址将email推送到qq.com服务器收件方(receiver)从服务器拉取自己的email上述3个过程,1和2都是推送,使用SMTP(Simple Mail Transfer Protoco ……

Email 原理 发送
2020年12月06日 23点06分 作者:叶飞 修改

知乎,这一次是真的决定离开

起因查了一下,从2015年7月知乎首答:5年多的时间,9万+的关注,8万+的收藏,15万+的赞同,勉勉强强算一个小V吧:忽然发现,从赞/关注/收藏的比例来看,很多同学对我关注胜于赞同。大概就是:不赞同我的观点,但感兴趣我这个人,或者我写的东西大家愿意收藏起来慢慢看。当然我也知道:“以后再看”≈“不看”,^_^离开知乎的诱因是昨天晚上,我的一个小号突然:申诉无果:看标题就知道,这是纯粹的技术文章。其实最初我是不想发布到知乎的,因为太“干”,看的人肯定很少。而且确实是我在开始做培训班之后,“呕心沥血”整理出来 ……

离开知乎 优质内容 推广
2020年11月23日 22点36分 作者:叶飞 修改

【废】Java:多线程

泛型可以有泛型方法/类等,同C#可以有约束public class Student<T extends IMajor> extends Person {子类继承时:public class OnlineStudent<T extends IMajor> extends Student<T > {协变/逆变通配符:?实现extends:协变(out)super:逆变(in)Optional 类对应NullableOptional<Integer> age = ……

Java C# 对比 高阶语法
2020年11月19日 21点44分 作者:叶飞 修改

异步方法和TPL: async / await / Parallel

封装我们要把上面这个Task封装成方法,怎么办?最重要的一点,这个方法要能返回生成的random,后面的代码要用!public static Task<int> getRandom(){return Task<int>.Run(() =>{Thread.Sleep(500); //模拟耗时return new Random().Next();});}@想一想@:应该如何调用这个方法?(提示:不要直接getRandom().Result) 假如我们还需要进一步的封装,添加 ……

异步方法 async await 并发
2020年11月05日 23点13分 作者:叶飞 修改

Java:面向对象:类和对象 / 类成员 / 常用类库

类和对象 类文件后缀:.java包(namespace):项目上右键创建package _17bang.CD.Yz;引入(using)import _17bang.YZ.Student;没有partial类访问修饰符:没有关键字internal(不能显式声明,默认即可,package中可见)static:可以由对象调用(只warning不报错)引用类型和值类型其他类成员快捷键生成:alt+shift+s,构造函数间调用:public Student(int age) {this();}没有属性,只有get ……

Java C# 对比 面向对象
2020年10月23日 09点12分 作者:叶飞 修改

C#-面向对象:string还是StringBuilder?

我们之前故意对string一带而过,是因为它非常特别。首先,它是imutable(不可变的)即一个string定义的字符串,一旦设定,就不能改变。在string上直接F12转到定义,就可以看到String类的成员。其中,只有一个只读的静态成员Empty(建议使用,以替代null和空字符串""):public static readonly String Empty;一个只读的索引器,可以获取字符串中某个下标的字符:public char this[int index] { get; }一个只读的属性Len ……

源栈培训 C# 语法 基础 对象
2020年10月23日 08点16分 作者:叶飞 修改

C#-面向对象:争议TDD(测试驱动开发)

在谈到特性的使用场景时,还有一个绝对离不开的就是单元测试按飞哥的定义,单元测试是开发人员自己用代码实现的测试。注意这个定义,其核心在于:主体是“开发人员”,不是测试人员。途径是“通过代码实现”,不是通过手工测试。实质是一种“测试”,不是代码调试。暂时还有点抽象,同学们记着这个概念,我们先用一个NUnit项目来看一看单元测试长个什么样。在solution上右键添加项目,选择Test中的NUnit Test Project,输入项目名称,点击OK:Visual Studio直接集成了NUnit说明微软在开源和 ……

源栈培训 C# 语法 基础 对象
2020年10月22日 20点47分 作者:叶飞 修改

C#-面向对象-反射和特性

同学们应该还记得,我们说过:(因为反射)访问修饰符不能真正地保证类成员不能被访问……所以我们接下来试一试这个反射(Reflection)仍然使用我们之前的Student类,在里面添加一个私有的_weight字段:class Student{private int _weight;public Student(int weight){_weight = weight;}}现在给我一个它的变量,让我来获取它的_weight值吧!Student zjq = new Student(63);首先,我要得到这个变量 ……

源栈培训 C# 语法 基础 对象
2020年10月22日 18点36分 作者:叶飞 修改

C#-面向对象:Object和装箱拆箱

我们来看一下这个代码:DayOfWeek.Friday.GetType()DayOfWeek.Friday是一个枚举值,它的这个GetType()是哪里冒出来的?结合我们前面所学的知识,子类中找不到的成员,一定是来自于它的父类,是不是?然而,enum DayOfWeek又没有继承啊?欲知详情,有一个简单粗暴的办法:直接在GetType()上F12,马上转到方法定义:哈哈,GetType()就是Object的实例方法嘛!实际上,Object是C#中所有类型的父类,可以说它是万物之祖。因此,任何类默认自动的继 ……

源栈培训 C# 语法 基础 对象
关键字



帮助

反馈