ASP.NET MVC路由——没人告诉你的事

路由是URL到处理该URL的逻辑的映射。在经典ASP.NET窗体网站中,路由并不那么令人感兴趣,因为经典ASP.NET窗体网站的URL直接映射到aspx文件,如https://gqqnbig.me/default.aspx就由default.aspx执行。

ASP.NET MVC的主要特性之一就是URL与具体的处理程序解耦了,处理程序称为Controller控制器,即MVC的C。不要以为URL不重要,用户用URL来探索站点结构。例如本文的URL是https://gqqnbig.me/2018/01/24/asp-net-mvc路由-没人告诉你的事/,用户期望删除后面部分,使用https:[……]

继续阅读

uMatrix规则清理

" \fR: mirror image the lines (horizontal mirror)
nmap \fR :set lzomzkOmaj:s/./&\r/g:'a+1,'z-1g/^/m 'a:'a+1,'z-1j!'add'zddk:set nolz
  1. 按动作为inherit过滤,清理所有项目
  2. 按动作为block过滤
    1. 依来源排序,对于同一个来源同一个动作同一个类型,如果有三个目标共享同一个上级域名,则这三个目标合并为上级域名。(注:不要把类型合并为*,因为会被具体类型的动作覆盖)
    2. 同一个目标同一个类型同一个动作,如果有三个来源共享同[……]

继续阅读

Directory Opus文件和文件夹自动样式化

Linux里以点开头的文件和文件夹都视为隐藏文件,而Windows上没有这个约定。有些Windows上的程序,如Git,采用Linux约定,创建点开头的文件夹。Directory Opus可以自动把点开头的文件夹显示为灰色。

自动样式化通过标记来实现。先在收藏夹&最近访问列表(笔者认为标记不应该属于这个分类)里选择标记,新建标记并设置你想要的样式。

然后在标记分配页创建过滤器。

保护远程桌面防止入侵

在服务器上仅允许网络级别身份验证

网络级别身份验证是Windows 7​加入的功能,旨在服务器启动远程桌面服务前就验证用户身份,消耗较少资源。参见https://technet.microsoft.com/zh-cn/library/cc732713(v=ws.11).aspx

在远程桌面客户端,运行远程连接,点击左上角的窗口图标,关于,就可以查看该系统是否支持网络级别身份验证。Windows 7​及以后的操作系统都支持。

那么,我在服务器上仅允许网络级别身份验证,如果客户端不支持网络级别身份验证,服务器能否正确阻挡呢?

我们可以在支持网络级别身份验证的客户端电脑上[……]

继续阅读

机械键盘轴选购指南

既然知道机械键盘,一定知道另外至少一种键盘——薄膜键盘。先要知道薄膜键盘的工作原理,才好与机械键盘比较,然后才能搞清自己需要什么轴。心急的人请注意,如果你不看薄膜键盘原理,一定无法选出自己满意的轴!

薄膜键盘原理

薄膜键盘上面是键帽,中间是有弹性的橡皮碗,下面是电路板1,再下面是电路板2。

橡皮碗的“碗顶”可以被按下,碗顶下压电路板1,电路板1接触电路板2,于是触发按键。

薄膜键盘没有其他弹簧,橡皮碗就作为弹簧。

分析下薄膜键盘的手感,从键帽的初始状态开始往下压,下压一点点就变得“很硬”。因为一开始键帽跟橡皮碗是松的,手指稍微一压,键帽跟橡皮碗就贴紧了,并且橡[……]

继续阅读

git变基

git rebase命令可接受一到两个定位参数。当接收两个参数时,要加--onto命名参数。用法如下

git rebase 不要的分支 要的分支 --onto 目标分支

hljs.initHighlightingOnLoad();

钢铁雄心4苏联教程

一进入游戏就释放释放傀儡,然后控制台切换过去令傀儡对美国提高党派支持度。

第一个国策选择斯大林宪法加政治点数,国策完成后改经济法案为部分动员。

打满洲国伪蒙古国和日本国时,蒙古不需要参战。因为他兵力太弱,而苏联如果去协防,则当地基建太差,很容易补给不足。也不能把全部兵力调去满洲国,很容易补给不足。步兵方式为平原2步兵1轻坦1摩托,山地2山地2骑兵。所以还要再造3个山地师、5个轻坦、15个摩托化。

晋系策略

关键点1是利用七七事变日本进攻晋系。苏联要保障晋系独立才能作为防御方进攻日本,但苏联是共产主义,共产主义只能保障共产主义,把晋系意识形态改为共产有两种方法。一是进攻晋系,[……]

继续阅读

web.config中<remove assembly=”*” />和<clear />的区别

ASP.NET窗体网站中,web.config system.web/compilation/assembly可以添加或删除该网站要使用的类库。常见的删除方法是调用<clear />指令,但是还有<remove>指令,并且在MSDN中出现了*参数的用法。<remove assembly="*" /><clear />到底有什么区别呢?

我并没有在MSDN中找到对<remove assembly="*" />的解释。但是通过查看.NET源代码发现了端倪。

根web.config(C:\Windows\Microsoft.NET\Framework\v4.0.30[……]

继续阅读

asp.net添加生成步骤

用过Gradle或Grunt的用户知道,构建项目时可以添加构建步骤;编译代码只是其中一步。比如,一次构建可包括以下几个步骤:编译代码、运行测试、压缩、上传服务器。

asp.net窗体网站能不能添加这样的构建步骤呢?

asp.net窗体网站,尤其在采用动态编译的部署方式时,对自定义构建的支持比较有限。

web.config的<buildProviders>配置节可以添加生成提供程序。(微软使用生成这个词,Java社区常用构建这个词)生成提供程序用于将非.cs、.vb扩展名的文件转换为C#或VB代码。这样的文件被称为非代码文件。在自定义生成提供程序时,最重要的工作就是实现Bu[......]

继续阅读