When I implementd the popular Richtext Editor tinymce for this web application, it conflicts with material design lite's js library, mdl-js-layout, so the editor cannot be edited or the content cannot shows up. Here is the solution, add the following…
ASP.NET Core运行原理之启动WebHost 本节将分析WebHost.CreateDefaultBuilder(args).UseStartup<Startup>().Build();代码. 源代码参考.NET Core 2.0.0 WebHostBuilder WebHost Kestrel 问题概要 Hosting中有哪2个ServiceProvider,各自如何创建,以及有哪些ServiceCollection. 什么时候执行Startup的ConfigureServices…
本节将分析Authentication 源代码参考.NET Core 2.0.0 HttpAbstractions Security 目录 认证 AddAuthentication IAuthenticationService IAuthenticationHandlerProvider IAuthenticationSchemeProvider UseAuthentication Authentication.Cookies 模拟一个Cookie认证 认证 认证已经是当前Web必不可缺的组件.…
本系列将分析ASP.NET Core运行原理 [ASP.NET Core]运行原理(1):创建WebHost [ASP.NET Core]运行原理(2):启动WebHost [ASP.NET Core]运行原理(3):认证 [[ASP.NET Core]运行原理(4):授权] 在认证阶段通过用户令牌获取到用户的Claims,而授权就是对这些Claims的验证. 授权核心 services.AddAuthorization(opt => opt.AddPolicy("isAdmin"…
老周写的[ASP.NET Core]处理异常非常的通俗易懂,拿来记录下. 转自老周:http://www.cnblogs.com/tcjiaan/p/8461408.html 今天咱们聊聊有关异常处理的破事吧,也可以说是错误处理,反正就这个意思,你理解就好,专业名词不必较劲,只有那些吃饱了撑着的“学术人才”才会跟名词较劲. 老办法,咱们结合示例来讲述,这样各位观众不会乏味. 大家知道,娱乐产品肾Phone已经成为流行玩具,近年来,购买肾Phone不一定只能用货币,比较典型的一种支付方式是卖肾买P…
本系列将分析ASP.NET Core运行原理 [ASP.NET Core]运行原理[1]:创建WebHost [ASP.NET Core]运行原理[2]:启动WebHost [ASP.NET Core]运行原理[3]:认证 本节将分析WebHost.StartAsync();代码,确定是如何一步一步到我们注册的中间件,并介绍几种Configure的方式. 源代码参考.NET Core 2.0.0 WebHost Kestrel HttpAbstractions 目录 Server.StartAs…
本系列将分析ASP.NET Core运行原理 [ASP.NET Core]运行原理[1]:创建WebHost [ASP.NET Core]运行原理[2]:启动WebHost [ASP.NET Core]运行原理[3]:认证 本节将分析WebHost.CreateDefaultBuilder(args).UseStartup<Startup>().Build();代码. 源代码参考.NET Core 2.0.0 WebHostBuilder WebHost Kestrel 问题概要 Hostin…
[ASP.NET Core]EF Core - “影子属性”   有朋友说老周近来博客更新较慢,确实有些慢,因为有些 bug 要研究,另外就是老周把部分内容转到直播上面,所以写博客的内容减少了一点. 老周觉得,视频直播可能会好一些,虽然我的水平一般,不过直播时,老周可以现场演示,可能会比看博客效果要好(因为现场演示,有时候会有失误,没办法,水平有限).还有一个,就是.NET 的资料其实很多,毕竟也发展了十几年了,有些东西如果别人都写过了,那我也不好意思重复了..NET Core 尽管是跨平台版本…
原文:[ASP.Net Core]不编译视图文件 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/aqtata/article/details/81868428 ASP.Net Core 2.0开始默认会将项目视图文件编译为一个DLL文件,这在开发阶段是很费事的,因为每次改动一下页面就需要重新编译,怎样让它不编译DLL文件呢? 编辑工程文件(.csproj),加上一句 <MvcRazorCompileOnPublish>false</Mv…
JSON Patch 是啥玩意儿?不知道,直接翻译吧,就叫它“Json 补丁”吧.干吗用的呢?当然是用来修改 JSON 文档的了.那咋修改呢?比较常见有四大操作:AMRR. 咋解释呢? A—— Add: M—— Move: R—— Replace: R—— Remove. Add 就是向 JSON 对象中添加一对 key - value,或者向 Json Array 中加个元素. Move 就是把某个节点从一个地方移到另一个地方. Replace 就是替换,比如把 city 的值从“广州”改为“…
ASP.NET Core 其实比传统的 ASP.NET 要简单很多,而且也灵活很多,并且可以跨平台独立运行. 在 Windows 平台上,我们只要在安装 Visual Studio 的时候选择跨平台的 .NET Core 开发即可,基本无需什么配置就能测试 ASP.NET Core 应用,连 IIS 你也可以不启用(当然你也可以启用的),因为使用 dotnet 命令就能直接运行.当然了,在MacOS和 Linux 上也是通过 dotnet 命令运行的. 一般来说,在 Windows 平台上,你的…
在上一篇文章中,老周扯了一下在 Windows 10 中开启 Linux 子系统,并且进行了一些简单的设置.本篇咱们就往上面安装 .net core . 老周假设你从来没有用过 Linux,所以,接着上一次的博文,老周先给您介绍几个可能比较常用的东东. 切换到 root 用户上下文 当你启动 Ubuntu 子系统后,你会看到,在你的用户名.机器名.路径名后有个 $ 符号.如下图. 这表示当前用户的权限是受到限制的,如果想要执行某些需要高权限的命令(这个类似于 Windows 中的以管理员身份运行…
当你在页面上用 form post 内容时,可能会遇到以下异常: The required antiforgery cookie "????????" is not present. 咱们来重现一下错误.新建一个 ASP.NET Core 项目,模板选[空]就行了,这是老周最喜欢的项目模板,空 == 自由. 在项目下建一个目录,叫 Pages,用来放 Razor 页面:然后建一个 Index.cshtml 页. 之所以叫 Index.cshtml,是因为 Index 是默认页的名字,这…
大家好,欢迎收看由土星卫视直播的大型综艺节目——老周吹逼逼. 今天咱们吹一下 EF Core 有关的话题.先说说模型和数据库是怎么建起来的,说装逼一点,就是我们常说的 “code first”.就是你先创建了数据模型,然后再根据模型来创建数据库.这种做法的一个好处是让面向对象的逻辑更好地表现出来.以前,咱们通常是先创建数据库的. 像 EF 这么嗨的东西,ASP.NET Core 中自然也是少不了的,即 EF Core. 好了,以上就是理论部分,比较乏味,是吧.那好,下面咱们干点正事. 构建模型…
  命令行配置 我们通过vs2017创建一个控制台项目CommandLineSample 可以看到现在项目以来的是dotnet core framework 我们需要吧asp.net core引用进来,我们可以直接添加Microsoft.AspNetCore.All   安装完成之后,我们可以通过using Microsoft.Extensions.Configuration;来进行后续的配置 static void Main(string[] args) { var builder = new…
如果大伙伴们以前写过 ASP 或 PHP 之类的,相信各位对基于 Session 的身份验证很熟悉(其实在浏览器端是结合 Cookie 来处理的).这种验证方式是比较早期的,操作起来也不复杂. a.用户打开(或自动跳转到)登入页,输入你的大名和密码,登录. b.提交到服务器,比较一下用户名和密码是否正确. c.若验证成功,往 Session 里写入一个标识.实际上往Session里面写啥都行,能作为用户登录标识就行.毕竟嘛,对于每个连接来说,Session是唯一的,所以,在页面"头部"…
本文的主题是简单说说如何实现 IConfigurationSource.IConfigurationProvider 接口来自定义一个配置信息的来源,后面老周给的示例是实现用 CSV 文件进行应用配置. 在切入主题之前,老周忽然酒兴大发,打算扯一些跟主题有关系的题外话. 关于 ASP.NET Core 的应用程序配置,以下是老周总结出来的无废话内容: 配置信息可以有多种来源.比如,用JSON文件来配置,在内存中直接构建配置,用XML文件来配置,用 .ini 文件来配置等. ASP.NET Cor…
安装 Visual Studio 和 .NET Core 1.安装 Visual Studio Community 2015,选择 Community 下载并执行默认安装.Visual Studio 2015 安装程序首页 2.安装 .NET Core + Visual Studio 工具 ,windows系统的可以从百度网盘下载 创建 Web 应用程序 1.起始页 点击 新建项目(或 文件→新建→项目) 2.选择 左侧 .NET Core (如果没有安装.NET Core + Visual S…
上一篇鸟文中,老周已经介绍过在 Ubuntu 子系统中安装 dotnet-sdk 的方法,本文老周给大伙伴们说说安装 nginx 服务,并配置反向代理.同样,老周假设你从来没有用过 Linux,所以老周会讲得很细.可能因为这样,博客园每次都把老周的文章撤下首页.不管他,他撤他的,我推我的,Who 怕 Who. 其实,你可以选择 nginx 或 Apache,不过老周更喜欢 nginx 一些,总觉得 Apache 有些别扭.当然了,asp.net core 应用是可以独立运行,所以,你确实可以直接…
.NET Core 的内容处处可见,刷爆全球各大社区,所以,老周相信各位大伙伴已经看得不少了,故而,老周不考虑一个个知识点地去写,那样会成为年度最大的屁话,何况官方文档也很详尽.老周主要扯一下大伙伴们在入门的时候可能会疑惑的内容. ASP.NET Core 可以在一个项目中混合使用 Web Pages 和 MVC ,这是老周最希望的,因为这样会变得更灵活.Web Pages 类似于我们过去的 Web 开发方式,以页面为单位,此模型侧重于功能划分.而 MVC 侧重于数据,有什么样的数据模型就有什么…
上一篇中老周给伙伴们介绍了自定义视图搜索路径的方法,本篇咱们扯一下有关 URL 路径规则的名称问题.在扯今天的话题之前,先补充点东东.在上一篇中设置视图搜索路径时用到三个有序参数:{2}{1}{0},分别是 Area.Controller.Action.其中说到几个特殊的视图,如_Layout.cshtml._ViewStart.cshtml等._Layout.cshtml 页默认放在 /Views/Shared 目录下,但,_ViewStart.cshtml 和 _ViewImports.cs…
依照老周的良好作风,开始之前先说点题外话. 前面的博文中,老周介绍过自定义 MVC 视图的搜索路径,即向 ViewLocationFormats 列表添加相应的内容,其实,对 Razor Page 模型,也可以向 PageViewLocationFormats 列表添加相应的搜索路径,比如 /MyPages/{1}/{0}.cshtml.其中,0 是视图名,1 是页面名称.比如这样. services.AddMvc().AddRazorOptions(opt => { opt.ViewLocat…
上一篇中,老周给大伙伴们扯了有关 ASP.NET Core 中异常处理的简单方法.按照老周的优良作风,我们应该顺着这个思路继续挖掘. 本文老周就不自量力地介绍一下如何使用 MVC Filter 来处理异常.MVC 模型(当然适用于 Razor Page .Web API 模型)可以用一系列的 Filter 来对请求与回应消息进行过滤处理.其中,在 Microsoft.AspNetCore.Mvc.Filters 命名空间下,你会发现有两个接口,它们跟异常处理有关: IExceptionFilte…
在开始今天的吹牛节目之前,老周先说个破事:每周的周五或者周六,老周会在新浪直播平台(一直播同步)开播 ASP.NET Core 相关的内容.具体的直播时间老周会在微博上发布.直播是免费观看的,当然了,如果你钱多的话,也可以赞助老周几个欧元的. 好,进入今天的主题.留个悬念,老周不告诉你扯什么,先看一个例子. [Route("/api/[controller]/[action]")] public class DemoController : Controller { [ActionNa…
全宇宙人民都知道,ASP.NET Core 应用是不依赖服务器组件的,因此它可以独立运行,一般是使用支持跨平台的 Kestrel 服务器(当然,在 Windows 上还可以考虑用 HttpSys,但要以管理员身份运行). 尽管 SDK 文档中推荐我们用服务器组件来“反向”代理,但独立运行也是允许的.当 Web 应用独立运行的时候,客户端发出请求后,在响应的 HTTP 消息中,会附上一个 Server 头,其值就是 Kestrel.如下面的高清无码无水印截图所示. 看到了吧,Server = Ke…
依赖注入在 ASP.NET Core 中起中很重要的作用,也是一种高大上的编程思想,它的总体原则就是:俺要啥,你就给俺送啥过来.服务类型的实例转由容器自动管理,无需我们在代码中显式处理. 因此,有了依赖注入后,你的编程思维就得变一变了.在过去,许多功能性的类型(比如一个加密解密的类),我们都喜欢将其定义为静态(static),而有了依赖注入,你就要避免使用静态类型,应该交由服务容器帮你管理,只要你用好了,你会发现依赖注入是很方便的. 依赖注入的初级玩法,也是比较标准的玩法,此种玩法有两种模式:…
最近博客更新频率慢了些,原因有三: 其一,最近老周每星期六都录 ASP.NET Core 的直播,有些内容在视频里讲过,就不太想在博客里面重复.有兴趣的话可以去老周的微博看,或者去一直播,直播帐号与微博帐号是绑定的: 其二,最近老周是有些忙,但不是忙写代码的事情.而是忙着“寻宝藏”. 其三,每个星期至少也要抽出一天的时间,跟妹子出去浪.准确地说,应该叫对象(Object),是通过构造函数认识的,已经顺利运行有五个月了.目前状态良好,内存占用小,不烧 CPU.性能好,不吃硬件. 好了,屁话不多说了…
下载.NET Core SDK 下载地址:https://www.microsoft.com/net/download/windows https://www.microsoft.com/net/learn/get-started/windows 安装vs2017,安装的时候选择安装core跨平台 在程序安装后,可以在控制台输入dotnet进行创建core应用程序 输入dotnet  --help查看命令帮助 .NET 命令行工具 (2.1.2) 使用情况: dotnet [runtime-op…
何谓“浅说”?就是一句话说不完,顶多两句话就介绍完毕,然后直接给上实例的解说方式.化繁为简,从七千年前到现在,从老祖宗到咱们,一直都在追求的理想目标,尽可能把复杂的东西变成简单的. 老周告诉你一个可以彰显你编程很厉害的方法——那就是跟不懂编程的人讲编程,你要是能把不懂的人给说懂了,那你的实力是 up up 的.既充满情趣又能让你动力十足的做法,就是你跟妹子讲编程,你要是有本事用编程把她逗得心花怒放的话,老周服了你. 好了,以上内容纯属天外理论,下面就开始谈谈目录浏览的事情.说白了,就是这样:你用…
中间件:是汇集到以处理请求和响应的一个应用程序管道的软件. 每个组件: 可以选择是否要将请求传递到管道中的下一个组件. 之前和之后调用管道中的下一个组件,可以执行工作. 使用请求委托来生成请求管道. 请求委托处理每个 HTTP 请求. 请求中使用委托来配置运行,映射,和使用扩展方法. 一个单独的请求委托,它可将指定的在行作为匿名方法 (称为中,线中间件),或可以在可重用的类中定义它. 这些可重用的类和行在匿名方法中间件,或中间件组件. 在请求管道中的每个中间件组件负责调用管道中的下一个组件,或如…