摘要: 需求描述:当用户的账户在另一个浏览器中登录的时候,需要把当前浏览器的登录强制下线。这种需求在业务系统,或付费视频服务网站中比较常见。 这种需求我称之为“单客户端(浏览器)”登录,与单点登录(SSO)有本质的区别,关于SSO的实现方案可以参考我的另外一篇文章:谁都能看懂的单点登录(SSO)实现方式(附阅读全文
posted @ 2015-10-18 20:27 齐师傅 阅读(689) 评论(0) 编辑
摘要: SSO的基本概念 SSO英文全称Single Sign On(单点登录)。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。(本段内容来自百度百科) 今天这阅读全文
posted @ 2014-04-09 17:57 齐师傅 阅读(62422) 评论(43) 编辑
摘要: ASP.NET Core上传文件 ASP.NET Core使用IFormFile来读取上传的文件内容,然后将数据写入到磁盘或其它存储空间。 1. 添加FileUpload模型,用来接收上传的文件内容。 2. 在Form中添加 属性,完整的Form代码如下: 3. 添加OnPostAsync方法,处理阅读全文
posted @ 2018-04-01 21:36 齐师傅 阅读(60) 评论(0) 编辑
摘要: ASP.NET Core使用Razor页面 Razor是ASP.NET的页面引擎,在ASP.NET MVC 3以后被广泛使用,我在之前的博客中有所介绍,需要更多了解的朋友请移步 "【Razor语法】" 在ASP.NET中,我们仍然使用Razor来构建Web页面。 首先使用Visual Studio 阅读全文
posted @ 2018-04-01 16:12 齐师傅 阅读(40) 评论(0) 编辑
摘要: .net core安装及初体验 .net core 作为微软的新一代技术,在开发跨平台、微服务等方面有很大的优势,也更贴近现代的编码习惯。在2.0版发布很久以后,近期终于决定进行学习和体验。 安装 作为一名.net程序员,最便捷的开发工具当然是visual studio。尽管 .net core 可阅读全文
posted @ 2018-03-10 22:25 齐师傅 阅读(52) 评论(0) 编辑
摘要: SQL Server 通过触发器用来保证业务逻辑和数据的完整性。在SQL Server中,触发器是一种特殊类型的存储过程,可在执行语言事件时自动触发。SQL Server中触发器包括三种:DML触发器、DDL触发器和登录触发器。 DML触发器:执行DML语句触发执行,例如操作数据表或视图的insert、update、delete语句,不包含select。 DDL触发器:执行DDL语句时触发执行...阅读全文
posted @ 2015-11-02 07:24 齐师傅 阅读(1777) 评论(0) 编辑
摘要: 在关系数据库中,我们对于查询的思考是面向集合的。而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服。 正常面向集合的思维方式是: 而对于游标来说: 这也是为什么游标是邪恶的,它会使开发人员变懒,懒得去想用面向集合的查询方式实现某些功能. 同样的,在性能上,游标会吃更多的内存,减少可用的并发,占用宽带,锁定资源,当然还有更多的代码...阅读全文
posted @ 2015-10-28 15:17 齐师傅 阅读(658) 评论(0) 编辑
摘要: 一、定义变量--简单赋值 declare @a int set @a=5 print @a --使用select语句赋值 declare @user1 nvarchar(50) select @user1='张三' print @user1 declare @user2 nvarchar(50) select @user2 = Name from ST_User where ID=1 prin...阅读全文
posted @ 2015-10-28 15:03 齐师傅 阅读(654) 评论(0) 编辑
摘要: 存储过程是一组预编译的SQL语句,它可以包含数据操纵语句、变量、逻辑控制语句等。 存储过程允许带参数: 输入参数:可以在调用时向存储过程传递参数,此类参数可用来向存储过程中传入值(可以有默认值) 输出参数:从存储过程中返回(输出)值,后面跟随OUTPUT关键字 存储过程的优点: 执行速度快 允许模块化设计 提高系统安全性 减少网络流量 ...阅读全文
posted @ 2015-10-28 14:48 齐师傅 阅读(1334) 评论(0) 编辑
摘要: 在编程过程中,我们通常把特定的功能语句块封装称函数,方便代码的重用。我们可以在SQL Server中自定义函数,根据函数返回值的区别,我们自定义的函数分两种:标量值函数和表值函数。自定义函数的优点:模块化程序设计更快的执行速度减少网络传输一个函数最多可以有1024个参数;在调用函数时,如果未定义参数...阅读全文
posted @ 2015-10-28 09:47 齐师傅 阅读(1484) 评论(0) 编辑
摘要: 批处理应用程序向SqlServer发送的一组命令,Sql Server会将其编译成一个可执行单元,称为执行计划,执行计划中的语句每次执行一条。每个不同的批处理用GO命令分割。GO命令不是SQL语句,它是告诉SSMS将GO之前的语句作为批处理一起发送给数据库引擎。注意:GO命令不能和其它SQL命令写在...阅读全文
posted @ 2015-10-28 09:46 齐师傅 阅读(1032) 评论(1) 编辑
摘要: 适可而止:You Ain’t Gonna Need It YAGNI原则指的是只需要将应用程序必需的功能包含进来,而不要试图添加任何其他你认为可能需要的功能。 在一个软件项目中,往往80%的时间花费在20%的功能上。 当你准备列出一个项目清单时,试着考虑以下问题: 通过降低抽象的层级,来实现低复杂度 根据特性将功能独立出来 适度接受非功能性需求 识别耗时的任务,并摆脱它们这些原...阅读全文
posted @ 2015-10-25 09:42 齐师傅 阅读(783) 评论(0) 编辑
摘要: DRY——Don't Repeat Yourself Principle,直译为“不要重复自己”原则 DRY简而言之,就是不要写重复的代码。原则本身很简单,但是,对于OOAD(面向对象的分析和设计)来说,有着非常重大的意义。 DRY利用的方法就是抽象:把共同的事物抽象出来,把代码抽取到一个地方去。这样就可以避免写重复的代码。 举一个DRY的典型例子,如果在一个类构造的时候,需要进行成员的初始化,在...阅读全文
posted @ 2015-10-25 09:28 齐师傅 阅读(824) 评论(0) 编辑
摘要: S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写。 单一责任原则: 当需要修改某个类的时候原因有且只有一个(THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS TO CHANGE)。换句话说就是让一个类只做一种类型责任,当这个类需要承当其他类型的...阅读全文
posted @ 2015-10-25 09:24 齐师傅 阅读(583) 评论(0) 编辑
摘要: MongoDB的官方驱动下载地址:https://github.com/mongodb/mongo-csharp-driver/releases 目前最新的版本是2.10,支持.NET 4.5以上。由于我现在的程序还在.NET4.0上面构建,所以这里使用1.10.1版本。 添加引用 解压下载到的驱动,然后在我们的程序中添加引用: MongoDB.Bson.dll Mongo...阅读全文
posted @ 2015-10-20 13:30 齐师傅 阅读(8487) 评论(1) 编辑
摘要: MongoDB的下载地址:http://www.mongodb.org/downloads MongoDB有32bit和64bit两个版本,32bit只能存放2GB数据。我们选择64bit版进行下载。 下载完成之后就行安装。不再赘述。 启动MongoDB服务器 打开windows命令行,进入安装目录: 然后,使用命令 mongod –-dbpath d:\mongodb\db 启...阅读全文
posted @ 2015-10-19 16:36 齐师傅 阅读(874) 评论(0) 编辑
摘要: 需求描述:当用户的账户在另一个浏览器中登录的时候,需要把当前浏览器的登录强制下线。这种需求在业务系统,或付费视频服务网站中比较常见。 这种需求我称之为“单客户端(浏览器)”登录,与单点登录(SSO)有本质的区别,关于SSO的实现方案可以参考我的另外一篇文章:谁都能看懂的单点登录(SSO)实现方式(附阅读全文
posted @ 2015-10-18 20:27 齐师傅 阅读(689) 评论(0) 编辑