Skip to main content

async/wait和ConfigureWait(false)在异步编程中有什么关系?

分类:  .Net技术 标签:  #异步编程 #.Net #基础 发布于: 2023-08-07 22:00:48

我喜欢.Net的最大原因就是.Net是真的提供了很多工具简化编程的难度,并提供了健壮性。尤其是异步编程模式的提出。 .Net使用async和await两个关键字来简化异步编程,不过需要注意的是: 异步编程不是并行编程,和我们提到的多线程编程虽然有联系,但是异步编程不是多线程的那种多任务编程。 异步编程要注意编程任务是基于CPU计算多,还是基于IO多,特别是在基于Asp.net Core Genric Host进行后端服务编程时(例如:写基于Windows或者基于Linux的服务程序,不是指Web编程),特别需要注意区分你的任务是基于IO的还是基于CPU计算的任务。基于CPU计算的任务都需要Task.Factory.new放入runtime的线程池中运行。 在基础的编程模型中我

Read more

在MVVM项目中使用async/await - 数据绑定

分类:  .Net技术 标签:  #异步编程 #.Net #MVVM 发布于: 2023-08-07 21:30:33

今天找到了几篇非常好的文章,这些文章集中讨论了MVVM模式的编程,一一分享给大家。 本篇讨论在WPF & Net MAUI & WinUE3 MVVM项目中使用Async & await进行多任务编程,是基于大牛Stephen Cleary于2014年3月份左右发表的博客。原始页面已经找不到了,进入了微软MSDN杂志的存档了。 之前在网络上搜索了不少文章,这些文章讨论如何在UI环境中使用多线程时无一例外的都是利用例如wpf的dispatcher将长时间运行的线程放置到后台线程中,并通过Dispatcher来更新UI, UI线程无需等待。看到这些代码我都有一个问题,为什么不可以直接使用async/await而避免使用dispatcher来配合多任务编程呢?找了不少方案,自己也尝试设

Read more

Azure Databricks入门 - 认识一下Databricks的数据对象

分类:  Azure Databricks 标签:  #基础 #Azure #大数据 #入门 发布于: 2023-08-07 20:46:28

Unity Catalog: 是下一代由databricks开发的元数据管理服务,目前还是在public preview,还不能用于正式生产,而且Azure China也不支持。这个服务将数据对象分为三个级别:catalog.database.table。 hive metastore: 目前应用成熟的元数据服务,直接使用了Hive的服务。在Databricks中,每个集群的节点上都会安装一个Hive metastore的客户端,这些客户端都会链接到Control panel的Hive Meta store服务上,在Azure Databricks中,后端默认是Azure Database for MySQL。

Read more

Azure Data Explorer(ADX)中如何修改表的列类型

分类:  Azure Data Explorer 标签:  #基础 #大数据 发布于: 2023-08-07 20:23:25

我们在Azure Data Explorer(ADX)中创建了一张表,例如如下的语法: .create table test1 (['id']: int, name: string, ob_length: string); 现在我们有一个需求:需要更改列ob_length 从类型string更改类型到long。 针对这个需求,大家第一映像肯定是直接使用alter column语法来更改就好了啊。语法也很简单: .alter column ['test1'].['ob_length'] type=long 好像看起来也没什么问题,但是很不巧,官方的文档明确的针对这个指令有一个说明:

Read more

如何在Windows Server Core下安装和配置SQL Server

分类:  Windows Server 标签:  #PowerShell #Windows Server Core #Windows #SQL Server 发布于: 2023-08-06 17:44:13

在准备将自己的网站迁移到Windows Server Core上时,第一个要考虑的问题就是如何在Windows Server Core上安装和配置SQL Server, 新网站的架构是基于OrchardCore来开发的,虽然可以继续使用sqlite,随着数据的增多,很担心sqlite不能应对更多更大的数据量,同时在需要和其他的代码及进行集成时,仅仅使用sqlite也会带来很多不方便的地方,这样就必须要将原有基于Piranha CMS的数据转换到SQL Server, 这又是一个伤心的故事,无论采用什么样的工具甚至是自己写代码,发现要将所有的数据从sqlite迁移到SQL Server的时候,仍然是困难重重。而且还得对Piranha CMS的底层设计要非常熟悉,倒腾了很多次依然以失败告终,这更

Read more

开启Windows Server Core上的远程PowerShell管理

分类:  PowerShell 标签:  #脚本编程 #Windows Server Core #Windows 发布于: 2023-08-05 18:30:54

当安装和测试完成了windows Server Core的系统之后,仍然需要经常对系统进行维护和管理,我们可以使用常规的管理工具,例如服务管理工具, 或者是Windows Admin来进行管理,不过对于一台两台服务器,我们还可以利用PowerShell的远程管理工具进行管理,如下是如何在Azure上远程开启PowerShell管理的基本步骤。 首先使用远程桌面登录到系统中,运行如下的命令: Enable-PSRemoting -SkipNetworkProfileCheck -Force 先开启配置,然后检查防火墙:

Read more

PowerShell在Windows Server Core上处理文件的技巧

分类:  PowerShell 标签:  #基础 #Windows Server Core #Windows #脚本编程 发布于: 2023-08-05 17:24:30

将自己的网站转为使用Windows Server Core 2022作为基础的系统之后,需要通过命令行对系统进行管理,特别是对于文件系统的管理,例如查询文件,列出文件, 查看文件夹或者文件的大小,删除文件夹,给用户授权等等,刚开始使用有很多不习惯的地方,这里记录一下一些使用PowerShell操作文件的小技巧。

Read more

Windows Server 2022 Core迁移记录

分类:  Windows Server 标签:  #Windows #Windows Server Core 发布于: 2023-08-05 0:42:10

最早的时候我将自己的博客部署在Ubuntu 20.04上,采用的架构是nginx + .Net 6 Kerstrel, 为了优化性能,减少从nginx到loopback之间的交互,配置nginx和Kerstrel之间的通讯走UnixSocket, 并将UnixSocket文件存入到/dev/shm中,这套配置经历一段时间, 使用benchmarkdotnet做了一些基准的测试并留下了数据。这之后,决定使用windows server 2019 datacenter作为操作系统,并配置IIS + Asp.net core Module V2直接走了in-process模式,迁移之后发现博客网站在使用同样的测试方案下,windows + IIS的模式居然比之前基于ubuntu + nginx的模

Read more

Azure Databricks入门 - 认识一下DBFS

分类:  Azure Databricks 标签:  #Azure #基础 #入门 发布于: 2023-07-27 9:54:28

Databricks File System简称DBFS, 在Databricks的部署中,它是一个分布式文件系统,是基于云的文件系统,为Spark计算引擎提供统一文件存取接口,这主要体现在如下几个方面: DBFS是跟随Worksapce的,一个Workspace共享一个根DBFS文件系统。 每个在Workspace里启动的集群都会自动挂载DBFS到根目录/dbfs 通过DBFS文件系统mount进入到workspace的其他对象存储都严格的限制在DBFS的mnt下 无论什么云对象存储系统通过DBFS的mount过来之后,都是可以直接简单的使用文件操作命令进行操作,例如Azure Storage Data Lake或者AWS S3等等。 另外需要注意的是DBFS有几个特殊的根目

Read more