.Net Framework

7月30日 举办专注于微服务的.NET Conf Focus

女生的网名这么多〃 提交于 2021-01-17 18:52:24
2020 年 7 月 30 日, 由.NET基金会和微软 将举办一个在线和为期一天的活动,包括 微软 .NET 团队的演讲者以及社区的演讲者。本次在线大会 专注.NET框架构建微服务,演讲者分享构建和部署云原生应用程序的最佳实践、模式、提示和技巧。有关更多信息和随时了解情况:https://focus.dotnetconf.net/. 下面和大家几个重量级的分享嘉宾: Scott Hunter, Director of Program Management, .NET David Fowler, Partner Software Architect, Microsoft, Brendan Burns, Corporate Vice President, Microsoft und Kelsey Hightower, Developer Advocate, Google Jessica Deen, Sr. Cloud Developer Advocate, Microsoft Elton Stoneman, Director, Sixeyed Consulting .NET Conf:Focus 系列是 Microsoft 和.NET基金会 提供并重点介绍围绕 .NET 的特定主题的一系列小型实时活动。该系列的第一次会议于2020年1月举行,以Blazor为主题

[翻译]正则引擎的几种分类

眉间皱痕 提交于 2021-01-17 14:50:36
原文链接 http://www.softec.lu/site/RegularExpressions/RegularExpressionEngines 正则表达式引擎是正则表达式匹配算法的基础。其有多种不同的实现,但大多数都是基于Henry Spencer的NFA引擎。 正则引擎有两个大分类,DFA和NFA,像Perl、Java、.Net、 PHP 、Python、Ruby……等大多是工具都是用了NFA引擎。少数广泛被使用的工具如 mawk 使用了POSIX NFA引擎(NFA的一种变种)。以高效著称的工具采用了更为高效的DFA引擎。诸如GNU awk,GNU egrep和Tcl之类的一些工具结合了NFA / DFA两种引擎,将两者的优点结合在一起。 基于不同类型引擎的实现的正则表达式,主要有以下几点差异。 语法 匹配内容 零宽断言(环视) 功能 捕获功能 性能 所有的引擎都会对文本做从左向右的最长匹配,但具体细节取决于使用了何种引擎。 传统的NFA引擎 NFA引擎中使用的非确定有限状态机(Nondeterministic finite automation)是一种由要匹配的表达式驱动的算法。这使得正则表达式像一个小的编程语言一样,可控制引擎在匹配失败时候的行为。 正则引擎从正则表达式其实位置开始,尝试正则表达式与文本的开头进行匹配,如果匹配成功,都前进一个配置

Session分布式共享 = Session + Redis + Nginx

旧巷老猫 提交于 2021-01-17 08:59:16
一、 Session 1、 Session 介绍 我相信,搞Web开发的对Session一定再熟悉不过了,所以我就简单的介绍一下。 Session:在计算机中,尤其是在网络应用中,称为“会话控制”。 每个用户(浏览器)首次与web服务器建立连接时,就会产生一个Session,同时服务器会分配一个SessionId给用户的浏览器。我们可以用Fiddler查看cookies中,会看到有一个ASP.Net_SessionId的cookie。大家都知道Http是无状态请求,但是ASP.Net中的Session仿佛又让Http请求变得有状态,其核心就在于这个叫ASP.Net_SessionId的cookie。大家可以想象一下,这个相当于数据库的Key,服务器那边再有个Session内容缓存表,是不是Session的内容就很容易得到了?当然Session不是那么简单,但Session原理不是本文介绍重点,所以请大家自行度娘。 2、又爱又恨的 Session 刚接触程序开发的人一定爱死Session了,因为Session让Http从无状态变成有状态了,页面之间传值、用户相关信息、一些不变的数据、甚至于查出来的DataTable也可以放进去,取值的时候只需要Session[Key]即可,真是方便极了。Session真是个利器,人挡杀人佛挡杀佛,但任何事物被封为利器基本也是双刃剑

神器如 dnSpy,无需源码也能修改 .NET 程序

Deadly 提交于 2021-01-17 06:39:12
dnSpy 是 0xd4d 开发的 .NET 程序调试神器。 说它是神器真的毫不为过!它能在完全没有源码的情况下即时调试程序,甚至还能修改程序!本文讲向大家介绍如何使用 dnSpy 修改 .NET 程序。 如果你发现本文原本应该有图的地方却没有看到图片,那可能是被某种特殊的网络屏蔽了。请移步至 神器如 dnSpy,无需源码也能修改 .NET 程序 - 吕毅 - gitee 阅读。 dnSpy 的主打功能是无需源码的调试, 林德熙 有一篇文章 断点调试 Windows 源代码 介绍了这个方法。而本文主要说其另一项强大的功能 —— 修改程序集。 看看 dnSpy dnSpy 长着一身 Visual Studio 一样的外观,调试的时候给你熟悉的感觉。 我们只需要讲我们需要调试或修改的程序集拖入左侧的程序集列表中即可(它会自动为我们把此程序集依赖的程序集也添加进来)。我把以前我写过的一个程序 ManipulationDemo 拖进来了。 实操修改程序集 现在我们来修改它,修改什么好呢?为了让效果明显一点,我决定在启动时弹一个窗口。于是我们展开进入到 App 类中。 然后在类中右键“Edit class (C#)”: 在里面重写 OnStartup 方法。发现,它竟然连智能感知提示都做了! 改完只需要点击一下右下角的编译,即可讲修改应用到我们刚刚打开的程序集中。 保存修改的程序集

.NET 反编译调试神器:dnSpy了解一下

亡梦爱人 提交于 2021-01-17 06:38:43
如果客户环境出了问题,而又无法快速定位问题,可以借助dnSpy进行反编译调试跟踪。 可前往[dnSpy官网下载: https://github.com/0xd4d/dnSpy ]或直接从我的[分享链接: https://1drv.ms/u/s!Ag9J9FrcQ96Zg-hU64GPaM-GtASMCA ]下载(内置包含.NET Framework 4.7.1,若运行提示需要安装,可解压找到 . NET Framework 4.7. 1- x86 - x64 - AllOS - ENU . exe 安装)。 具体操作步骤如下所示: 添加系统环境变量, COMPLUS_ZapDisable = 1 如果需要调试IIS进程,可进入 C : \Windows\System32\inetsrv 目录执行 appcmd list wp 查看对应的应用程序池进程ID 打开dnspy,调试-->附加到进程-->选择相应的进程ID-->附加(支持同时附加多个进程) 调试-->窗口-->模块-->搜索要调试的程序集-->双击 在程序集资源管理器找到要调试的类打开,打断点即可 右键要修改的类文件-->编辑类/方法-->修改类-->编译 文件-->保存模块-->选择要保存的路径-->保存 将保存的重新编译的程序集替换到目标路径即可 执行 iisreset (若为IIS应用) 图一:配置环境变量 图二

ML.NET 推荐引擎中一类矩阵因子分解的缺陷

守給你的承諾、 提交于 2021-01-16 13:21:27
ML.NET 作为 .NET 跨平台的机器学习套件,在回归、预测、分类甚至是图像识别、异常检测都展现出简洁快速的优势,以往的文章已介绍过不再赘述。其实机器学习场景中还有一类非常常见的,就是推荐,特别是在线购物、文娱产品为了提升用户体验,一个比较好的主意就是让用户优先看到他需要的物品、内容,甚至提供用户意料之外又情理之中的产商品。推荐算法正好能够通过数据实现这一目标。 如上图所示,如果我们有用户、商品的购买关系,并且还有用户的评级、评分、评价内容,那么矩阵因子分解算法非常适用。如果我们还能获取到商品本身的一些属性,比如名称、分类、简介、价格的话,那么场感知分解机算法就能发挥特别好的作用。当然,推荐算法比较难的就是冷启动阶段,可能什么数据都没有,初始阶段没有更多选择,那么也只能从相似用户消费记录入手做推荐了,获取用户与购买商品编号的对应关系也算是容易的,此时用得比较多的是一类矩阵因子分解算法。仍然举一个例子,刚刚营业的某书店,基于借阅书的记录,我们给借了《三国志》的读者小强推荐同样借过这本书的小王借看的其他书,可能不一定是名著,不过没关系,这足够达到推荐的效果,因为算法背后的逻辑是相信他们总有其他书是都喜欢看的。 了解到前面的背景知识后,回头我们再看看 ML.NET 的推荐引擎,它同时支持矩阵因子分解和场感知分解算法,官网文档在《教程:使用矩阵因子分解和 ML.NET 生成影片推荐系统

dnSpy反编译、部署调试神器

杀马特。学长 韩版系。学妹 提交于 2021-01-16 13:21:13
一、概要 在工作当中,当程序部署了之后就算打了日志遇到极个别的特殊异常没有在程序日志中体现出来或者没有详细的报错原因会让开发者非常头疼,不得不盲猜bug到底出在哪里。这里分享一下工作上经常会用到的工具,这款工具可以反编译并运行调试已经部署好的引用程序,不管是.net framework还是.net core的都可以进行操作同时也能看到IL指令集。 开源地址:https://github.com/dnSpy/dnSpy 下载可执行工具地址:https://github.com/dnSpy/dnSpy/releases 二、详细内容 在git上下载好程序之后 解压之后能看到dnSpy.exe和dnSpy-x86.exe,分别用来解析x64和x86的应用程序。这时候根据自己编译的版本来选择即可。 打开之后的界面,这时候直接点击“启动”或者直接F5。 选择你想调试的程序集。 这里就像使用IDE一样,可以设置断点可以修改代码、查看程序集的引用等等操作。 在文本区域点右键可以看到Edit class点击之后弹出框内可以直接修改编辑已部署好的代码。 dnSpy是一款功能非常强大基于.net程序的反编译调试工具,能熟练掌握它能给工作和学习带来非常的大的便利。如果访问github慢的小伙伴可以加下文章末尾的群。群里会不定时共享学习资源和技术讨论。 希望大家多多支持。不胜感激。 E-Mail

asp.net core 实现支持多语言

折月煮酒 提交于 2021-01-16 05:01:32
asp.net core 实现支持多语言 Intro 最近有一个外国友人通过邮件联系我,想用我的活动室预约,但是还没支持多语言,基本上都是写死的中文,所以最近想支持一下更多语言,于是有了多语言方面的一些实践 国际化/本地化介绍 国际化(Globalization)和本地化(Localization)是要实现的多语言支持的基础 Globalization is the process of designing and developing applications that function for multiple cultures. Localization is the process of customizing your application for a given culture and locale . 国际化是要支持处理多种文化,而本地化是要根据某一个文化和区域的来展示相应的处理。 更多关于国际化与本地化的不同可以参考 Stack Overflow 上的讨论 https://stackoverflow.com/questions/2074869/globalization-vs-localization Localization In Asp.NET Core 微软官方的 Localization 的实现是基于资源文件实现的 ( *.resx )

ASP.NET CORE 项目实战 ---图形验证码的实现

僤鯓⒐⒋嵵緔 提交于 2021-01-16 04:37:34
简介      很长时间没有来更新博客了,一是,最近有些忙,二是,Core也是一直在摸索中,其实已经完成了一个框架了,并且正在准备在生产环境中试用,但是很多东西也是出于自己理解的肤浅和技术的不断更新,经常变动,所以,如果自己还没有完全搞好,就来写博客,反复的修正,可能会误导一些新手朋友。   如果有正在研究Core的朋友,可以大家一起交流下。 验证码         相信很多朋友跟我一样,图形验证码成为了 Core 的一个绊脚石。   System.Drawing.Primitives 这是官方的一个Drawing库,但是没有Bitmap、Graphics等很多东西,所以这个做图形验证码基本Pass了。   CoreCompat.System.Drawing 这个是一个第三方的, 使用了mono的System.Drawing实现,只要安装了之前使用System.Drawing的代码完全不用修改,也支持描画验证码等描画类的功能。 如果需要linux或osx支持,可以安装runtime.linux.CoreCompat.System.Drawing和runtime.osx.10.10-x64.CoreCompat.System.Drawing。(地址: https://github.com/CoreCompat/CoreCompat ),基本大家都是在用这个吧

.NET5引发持续关注,千万并发项目,能否超越JAVA,成为超配?

左心房为你撑大大i 提交于 2021-01-16 01:56:20
2020年11月12日零时,阿里巴巴发布的数据显示,2020年天猫双11全球狂欢季(11月1日至11日)总成交额(GMV)达到4982亿元人民币。 在发布总成交额后,淘宝天猫总裁蒋凡向现场媒体透露,按照同周期、同口径比较,今年双11期间的GMV比去年同期增长了1032亿,增速是26%。 这是过去三年来最高的增速。 同时,它还同步创造了两项新奇迹:单日网购订单产生的物流包裹达13亿件,支付宝承载网购支付最高峰值约每秒6100万次。 是不是很疯狂?一个网站能创造这么大的价值,当然,主要得益于马云爸爸那颗外星人般的头脑,同时淘宝网强大的高并发处理能力,起到了决定性的支撑作用。 2020年11月11日微软在dotnet conf 2020 大会上正式发布了.NET 5,具体参看博客 https://devblogs.microsoft.com/dotnet/announcing-net-5-0/ 。这是 .NET 开发人员平台的下一个大版本。.NET 5 是 Microsoft 承诺统一不同 .NET 实现的关键所在,这些是跨操作系统、Web 和各种形态的应用。从今天起,开发人员可以下载.NET 5.0,用于 Windows、macOS 和 Linux,用于 x86-64 和 Arm32/64。 2020年11月16日~18日晚8点~10点,.NET资深架构师Tony老师