.Net Framework

Dotnet Core下的Channel, 你用了吗?

ⅰ亾dé卋堺 提交于 2020-12-05 16:52:02
今天给大家分享一个微软官方的好东西:Channel。   前言 今天给大家分享一个微软官方的生产者/消费者方案的特性解决:Channel。 Channel在 System.Threading.Channels 命名空间下,Core 2.1使用时,需要从Nuget上安装。 % dotnet add package System.Threading.Channels 而在Core 3.0 preview 7开始,就直接包含在框架中了。   这是一个相对较新的特性。从Core 2.1开始加入,现在版本是5.0.0(嗯,这个版本号有点骗人,Channel的第一个版本就是4.5.0)。 Channel能做什么? 逻辑上,Channel实际就是一个高效的、线程安全的队列,支持在生产者和消费者之间传递数据。 利用Channel,通过发布和订阅,可以将生产者和消费者分开。生产者Producer负责接收请求,并写入Channel,而消费者Consumer为每个进入Channel的数据执行处理。这样做,一方面可以使生产者和消费者并行工作来提高性能,另一方面,可以通过创建更多的生产者或消费者来提高应用的吞吐量。 下面,我们以一个实际例子,来解释这个特性。 创建Channel Channel提供了一个静态Channel类,提供了两个公开方法来创建两种类型的Channel。 CreateUnbounded

回顾 | 进击吧! Blazor!系列

不想你离开。 提交于 2020-12-05 16:51:49
Blazor 是一个 Web UI 框架,可通过 WebAssembly 在任意浏览器中运行 .Net 。 Blazor 旨在简化快速的单页面 .Net 浏览器应用的构建过程,它虽然使用了诸如 CSS 和 HTML 之类的 Web 技术,但它使用 C#语言和 Razor 语法代替 JavaScript 来构建可组合的 Web UI 。通过提供用于编译到 Web 的大小和高效加载的格式,WebAssembly 可让 .Net 在浏览器中运行。 分享嘉宾 · 张善友 微软 SWAT 特派专家,友浩达科技有限公司 CEO & CTO,.NET 技术专家,连续15年被评为微软 MVP 陈超超 Ant Design Blazor 项目贡献者 拥有十多年从业经验,长期基于.Net技术栈进行架构与开发产品的工作,Ant Design Blazor 项目贡献者,现就职于正泰集团 往期回顾 · 第一期 初识Blazor 张善友 介绍WebAssembly的发展历程和最新进展,以及基于Wasm技术的.NET 前端框架Blazor 的发展历程和发展前景,并开始构建您的第一个Blazor应用程序。 回顾 | 进击吧!Blazor!第一期 初识Blazor 第二期 页面制作 陈超超 Blazor通常以Razor标记页的形式编写UI ,介绍Razor语法,路由的基本用法。 回顾 | 进击吧!Blazor

Windows系统下 ASP.NET Core 的 Docker 映像创建

别来无恙 提交于 2020-12-05 10:57:18
本教程演示如何在 Docker 容器中运行 ASP.NET Core 应用 具体步骤参考文末 官方文档:ASP.NET Core 的 Docker 映像 ,本文只记录我发布过程中遇到的一些问题。 系统要求 1.操作系统:我的是Windows10(家庭版),这里需要升级到windows10专业版,或者企业版。升级后重启电脑。   单击 我的电脑,右键【属性】,可以看到如下界面。点击更改秘钥升级。    2.下载安装 Docker For Desktop,下载地址: https://www.runoob.com/docker/windows-docker-install.html 。    主要是开启电脑的 Hyper-V功能。然后点击安装docker for desktop 安装包。查看电脑是否已开启虚拟化,可在任务管理器中查看,选择【性能】选项卡,在右下角【虚拟化】中查看。具体如下图。 3. 运行系统安装开发必要软件和aspnet core sdk 、aspnet runtime 运行时捆绑包。  下载安装网址 : Build apps - SDK 和 Run apps - Runtime   参考文档: ASP.NET Core 入门 https://docs.microsoft.com/zh-cn/aspnet/core/getting-started/?view

微软安全公告—2016年4月

眉间皱痕 提交于 2020-12-05 07:52:56
微软于北京时间 2016 年 4 月 12 日发布了 13 个新的安全公告,其中 6 个为严重等级 , 7 个为重要等级。本次更新主要修复 Windows 、 Internet Explorer 、 Office 、 Microsoft Office Services 和 Microsoft .NET Framework 、 Adobe Flash Player 、 Microsoft Edge 等组件的安全漏洞。我们推荐您安装所有更新,对于暂时只采用部分更新的用户,我们推荐您首先部署等级为“严重”的安全公告。安全公告每月更新一次,旨在解决严重的漏洞问题。 以下是所有安全公告的内容,供您参考。 公告 ID MS16-037 最高严重级 严重 受影响软件及其软件版本 Microsoft Windows ( Windows Vista 、 Windows Server 2008 (用于 32 位系统) Service Pack 2 、 Windows Server 2008 (用于基于 x64 的系统) Service Pack 2 、 Windows 7 、 Windows Server 2008 R2 (用于基于 x64 的系统) Service Pack 1 、 Windows 8.1 、 Windows Server 2012 和 Windows Server 2012 R2

.NET零基础入门之01:开篇及CSharp程序、解决方案的结构

纵饮孤独 提交于 2020-12-05 02:49:34
.NET零基础入门之01:开篇及CSharp程序、解决方案的结构 参考文章: (1).NET零基础入门之01:开篇及CSharp程序、解决方案的结构 (2)https://www.cnblogs.com/luminji/p/4337071.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/u/4437884/blog/4775654

Java 14 发布了,不使用"class"也能定义类了?还顺手要干掉Lombok!

我们两清 提交于 2020-12-05 01:38:49
2020年3月17日发布,Java正式发布了JDK 14 ,目前已经可以开放下载。在JDK 14中,共有16个新特性,本文主要来介绍其中的一个特性:JEP 359: Records 官方吐槽最为致命 早在2019年2月份,Java 语言架构师 Brian Goetz,曾经写过一篇文章(http://cr.openjdk.java.net/~briangoetz/amber/datum.html ),详尽的说明了并吐槽了Java语言,他和很多程序员一样抱怨“Java太啰嗦”或有太多的“繁文缛节”,他提到:开发人员想要创建 纯数据载体 类(plain data carriers)通常都必须编写大量低价值、重复的、容易出错的代码。如:构造函数、getter/setter、equals()、hashCode()以及toString()等。 以至于很多人选择使用IDE的功能来自动生成这些代码。还有一些开发会选择使用一些第三方类库,如Lombok等来生成这些方法,从而会导致了令人吃惊的表现(surprising behavior)和糟糕的可调试性(poor debuggability)。 那么,Brian Goetz 大神提到的纯数据载体到底指的是什么呢。他举了一个简单的例子: final class Point { public final int x; public final int y

Java 14 发布了,不使用"class"也能定义类了?还顺手要干掉Lombok!

Deadly 提交于 2020-12-05 00:57:47
2020年3月17日发布,Java正式发布了JDK 14 ,目前已经可以开放下载。在JDK 14中,共有16个新特性,本文主要来介绍其中的一个特性:JEP 359: Records 官方吐槽最为致命 早在2019年2月份,Java 语言架构师 Brian Goetz,曾经写过一篇文章( http://cr.openjdk.java.net/~briangoetz/amber/datum.html ),详尽的说明了并吐槽了Java语言,他和很多程序员一样抱怨“Java太啰嗦”或有太多的“繁文缛节”,他提到:开发人员想要创建 纯数据载体 类(plain data carriers)通常都必须编写大量低价值、重复的、容易出错的代码。如:构造函数、getter/setter、equals()、hashCode()以及toString()等。 以至于很多人选择使用IDE的功能来自动生成这些代码。还有一些开发会选择使用一些第三方类库,如Lombok等来生成这些方法,从而会导致了令人吃惊的表现(surprising behavior)和糟糕的可调试性(poor debuggability)。 那么,Brian Goetz 大神提到的纯数据载体到底指的是什么呢。他举了一个简单的例子: final class Point { public final int x; public final int

WPF 基于Adorner实现类似Popup效果

社会主义新天地 提交于 2020-12-05 00:40:30
1. 什么是Adorner 装饰器是一种特殊类型的 FrameworkElement ,可用来向用户提供可视提示。 装饰器有很多用途,可用来向元素添加功能句柄,或者提供有关某个控件的状态信息。 2. 使用Adorner实现Popup的原因 1. 通过AdornerLayer存在与独立的布局系统,不会与界面布局环论 2. 使用过WPF中的Popup就可以知道Popup中有许多的限制(例如需要实现某些效果比较麻烦) 3. 效果 4. 主要实现 1. Popup中当StaysOpen为False的情况下,当打开Popup后如果再点击其他区域时将会关闭Popup的实现(实现方法参考自Popup, 但是不采用Mouse.Capture(element),因为会导致其他控件无法收到鼠标实现 if (StaysOpen) return ; Point pos = e.GetPosition(ListenMouseElement); HitTestResult hitResult = VisualTreeHelper.HitTest(ListenMouseElement, pos); if (hitResult == null ) { IsOpen = false ; return ; } // 如果点击对象对Child则返回 if (TreeHelper.IsDescendantOf

LeaRun快速开发平台,快速开发.net/java项目

主宰稳场 提交于 2020-12-04 16:59:41
Learun软件快速开发平台是一款轻量化多语言可视化开发工具。 平台目前分为Java和.net(core)版本,内置有多套UI风格模板,核心功能基本相同,包括:向导式开发组件、BI可视化、拖拽式表单、代码生成器、单据套打、通用app/小程序、权限管理、流程引擎页等功能模块,可以快速有效的开发出市场上目前常见的各种管理系统,如:OA、ERP、CRM、HRM、MIS等。 Learun软件开发平台以“让开发变得简单”为宗旨,深耕软件平台,拥有近10年的行业开发经验,经典.net软件产品已经服务超5000家客户,并得到市场一致好评。 框架采用目前主流的引擎式开发,与传统的软件开发模式相比,其最大特点是通过数据集合、表单引擎、流程引擎、报表引擎等,用可视化的形式进行设置组合,结合项目自身的类库,从而实现对各种复杂系统的快速高效开发。 .net产品 .net是目前客户主要使用产品,目前已正式更新至V7.0.6;基于.net产品开发而来的.netcore产品也已经发布,两者整体功能一致,UI风格一脉相承。 APP模块采用主流的vue框架,同时支持微信、钉钉、支付宝等平台。 1.敏捷开发 敏捷开发向导:表单、流程、数据等常用功能配置向导 代码生成器:八套开发模板,生成类、页面、映射、表单、小程序等 通用图标:PC和移动端图标 数据看板:BI大数据看板 表格组件:各类常用表格 甘特图:了解项目进度