多线程

1.以前常直接使用Threading类
2.现在常用Task.Run();Task.Factory.StartNew();Parallel.For();Parallel.Invoke();
3.控制线程的数量在一个范围内变动,使用ThreadPool
4.执行多个不同的任务:使用Task.Factory.StartNew();Parallel.Invoke();
5.听说:Task.Factory.StartNew();运行效率更好些;
6.取消任务:
a在外面先声明,在线程内部,把当前线程给矛声明
b使用CancellationTokenSource
7.

netcore: 重新认识 ConfigureService和Configure

ConfigureService:可理解为是配置功能(service服务)到DI容器中:赋能!
Configure:为真正处理请求的位置,通常所说的http中间件位置,可选择用不用ConfigureService配置的服务(能力):应用!

在逻辑类中,我们常常使用DI,可以向DI容器获取相关功能(服务),也是应用!能力的体现!

更明白一个区别:filter和http中间件的区别,filter和中间件都有aop的体现,但filter更贴近业务,也就是更贴近mvc框架本身,比如action,result的控制;
中间件:更偏向对对应用程序本身的处理,如日志,异常,session,从请求处理管道上看,中间件一般处于filter之前

thinkphp下调试错误比较底层的做法

在调试老项目,xxjn网时,总是找不出error在哪里使用,
最后发现

 //在Think.Class.php内容下,直接底层的调试代码
 static public function halt($error) {
        $e = array();
        if (APP_DEBUG || IS_CLI) {var_dump($error);exit;
            //调试模式下输出错误信息
            if (!is_array($error)) {//var_dump($error);exit;

只要能输出问题,后面遇到的问题都好解决!

vs2019下的aspnet webapi转到vscode下使用

1.添加.vscode配置

Run->add configuration
微信截图_20210607174409

2.添加插件

https://juejin.cn/post/6844903826063884296
推荐:
C#
gitlens
Project Manager
C# XML Documentation Comments
BooksMark
git history:虽然可以使用现场的,但这个插件还是有点用处
C# Extensions:方便管理新增文件
Auto-Using for C#:方便管理using引用

3.调整vscode配置

Tree: Indent
Side Bar: Location
Files: Exclude

4.添加工作区

https://blog.csdn.net/a592733740/article/details/104948607

5.调整vscode配置为自动猜测文件编码

配置中搜索:autoGuessEncoding

6.一些快捷键

7.调试代码


一些操作
复制文件到发布目录:
在csproj文件中添加节点:

<ItemGroup>
  <None Update="run.bat" CopyToOutputDirectory="Always" />
</ItemGroup>