会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
我是攻城狮
博客园
首页
新随笔
联系
订阅
管理
2017年4月15日
使用swagger实现web api在线接口文档
摘要: 一、前言 通常我们的项目会包含许多对外的接口,这些接口都需要文档化,标准的接口描述文档需要描述接口的地址、参数、返回值、备注等等;像我们以前的做法是写在word/excel,通常是按模块划分,例如一个模块包含n个接口,就形成一个文档,然后再用版本控制管理。这样做的缺点是: 1.不够直观,每次打开文档
阅读全文
posted @ 2017-04-15 11:16 我是攻城狮
阅读(10960)
评论(1)
推荐(3)
2017年2月26日
使用Nuget管理dll
摘要: 前言 nuget 已经不是什么新东西,它是vs的一个扩展工具,可以让我们在项目中添加、删除、更新引用变得更加快捷方便。现在有许多传统公司对dll的管理还是很落后的,有些甚至时通过发送dll文件,这样做的直接缺点就是很繁琐、容易出错。之前就有试过一个dll的版本不对,测试人员更新到线上接口直接就挂了,
阅读全文
posted @ 2017-02-26 20:21 我是攻城狮
阅读(1520)
评论(2)
推荐(2)
2016年12月26日
分享api接口验证模块
摘要: 一.前言 权限验证在开发中是经常遇到的,通常也是封装好的模块,如果我们是使用者,通常指需要一个标记特性或者配置一下就可以完成,但实际里面还是有许多东西值得我们去探究。有时候我们也会用一些开源的权限验证框架,不过能自己实现一遍就更好,自己开发的东西成就感(逼格)会更高一些。进入主题,本篇主要是介绍接口
阅读全文
posted @ 2016-12-26 10:36 我是攻城狮
阅读(5251)
评论(31)
推荐(29)
2016年12月8日
后台参数验证的几种方式
摘要: 前言 参数验证是一个常见的问题,无论是前端还是后台,都需对用户输入进行验证,以此来保证系统数据的正确性。对于web来说,有些人可能理所当然的想在前端验证就行了,但这样是非常错误的做法,前端代码对于用户来说是透明的,稍微有点技术的人就可以绕过这个验证,直接提交数据到后台。无论是前端网页提交的接口,还是
阅读全文
posted @ 2016-12-08 09:21 我是攻城狮
阅读(4702)
评论(3)
推荐(6)
2016年10月16日
sql server 公共表达式的简单应用(cte)
摘要: 一、前言 现在做项目数据访问基本都会选择一种orm框架,它以面向对象的形式屏蔽底层的数据访问形式,让开发人员更集中在业务处理上,而不是和数据库的交互上,帮助我们提高开发效率;例如一些简单的insert、update,我们不需要写insert into...sql 语句,而是直接new一个实体对象,然
阅读全文
posted @ 2016-10-16 12:09 我是攻城狮
阅读(991)
评论(0)
推荐(0)
2016年4月5日
理解ASP.NET MVC的DependencyResolver组件
摘要: 一、前言 DependencyResolver是MVC中一个重要的组件,从名字可以看出,它负责依赖对象的解析,可以说它是MVC框架内部使用的一个IOC容器。MVC内部很多对象的创建都是通过它完成的,或许我们平时没有直接用到它,但是如果你在使用unity、autofac,或者在看一些开源项目时,总会看
阅读全文
posted @ 2016-04-05 09:01 我是攻城狮
阅读(4079)
评论(12)
推荐(9)
2016年3月28日
ASP.NET MVC Form验证
摘要: 一、前言 关于表单验证,园子里已经有不少的文章,相信Web开发人员也都基本写过,最近在一个个人项目中刚好用到,在这里与大家分享一下。本来想从用户注册开始写起,但发现东西比较多,涉及到界面、前端验证、前端加密、后台解密、用户密码Hash、权限验证等等,文章写起来可能会很长,所以这里主要介绍的是登录验证
阅读全文
posted @ 2016-03-28 09:10 我是攻城狮
阅读(7135)
评论(11)
推荐(13)
2016年3月25日
请求如何进入ASP.NET MVC框架
摘要: 一、前言 对于WebForm开发,请求通常是一个以.aspx结尾的url,对应一个物理文件,从代码的角度来说它其实是一个控件(Page)。而在MVC中,一个请求对应的是一个Controller里的Action。熟悉asp.net的朋友都知道,asp.net请求实际都是交给HttpHandler处理(
阅读全文
posted @ 2016-03-25 09:30 我是攻城狮
阅读(4279)
评论(10)
推荐(10)
2016年3月17日
一个简单的ASP.NET MVC异常处理模块
摘要: 一、前言 异常处理是每个系统必不可少的一个重要部分,它可以让我们的程序在发生错误时友好地提示、记录错误信息,更重要的是不破坏正常的数据和影响系统运行。异常处理应该是一个横切点,所谓横切点就是各个部分都会使用到它,无论是分层中的哪一个层,还是具体的哪个业务逻辑模块,所关注的都是一样的。所以,横切关注点
阅读全文
posted @ 2016-03-17 09:45 我是攻城狮
阅读(3785)
评论(5)
推荐(9)
2016年3月14日
通过源码了解ASP.NET MVC 几种Filter的执行过程
摘要: 一、前言 之前也阅读过MVC的源码,并了解过各个模块的运行原理和执行过程,但都没有形成文章(所以也忘得特别快),总感觉分析源码是大神的工作,而且很多人觉得平时根本不需要知道这些,会用就行了。其实阅读源码是个很好的习惯,它不只停留在知道怎么用的阶段,而是让我们知道一系列的为什么,为什么这样设计,为什么
阅读全文
posted @ 2016-03-14 20:08 我是攻城狮
阅读(4530)
评论(4)
推荐(8)
2016年1月4日
跨站请求伪造
摘要: 1. 什么是跨站请求伪造(CSRF) CSRF(Cross-site request forgery跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同...
阅读全文
posted @ 2016-01-04 09:03 我是攻城狮
阅读(9400)
评论(9)
推荐(13)
2015年11月27日
显示实现接口
摘要: 接口定义了一系列的行为规范,为类型定义一种Can-Do的功能。例如,实现IEnumerable接口定义了GetEnumerator方法,用于获取一个枚举数,该枚举数支持在集合上进行迭代,也就是我们常说的foreach。接口只是定义行为,具体的实现需要由具体类型负责,实现接口的方法又分为隐式实现与...
阅读全文
posted @ 2015-11-27 17:46 我是攻城狮
阅读(1564)
评论(0)
推荐(1)
2015年11月9日
数组为什么可以使用linq查询
摘要: 问题引出 这视乎是个完全不必要进行讨论的话题,因为linq(这里具体是linq to objects)本来就是针对集合类型的,数组类型作为集合类型的一种当然可以使用了。不过我还是想写一下,这个问题源于qq群里一位朋友的提问:.net的数组类型都隐式继承了Array类,该类是一个抽象类,并且实现了I...
阅读全文
posted @ 2015-11-09 11:40 我是攻城狮
阅读(2266)
评论(4)
推荐(1)
2015年11月4日
编写轻量ajax组件03-实现(附源码)
摘要: 前言 通过前两篇的介绍,我们知道要执行页面对象的方法,核心就是反射,是从请求获取参数并执行指定方法的过程。实际上这和asp.net mvc框架的核心思想很类似,它会解析url,从中获取controller和action名称,然后激活controller对象,从请求获取action参数并执actio...
阅读全文
posted @ 2015-11-04 16:11 我是攻城狮
阅读(1197)
评论(7)
推荐(1)
2015年11月2日
事件
摘要: 前言 对于搞.net的朋友来说,经常会遇到关于事件和委托的问题:事件与委托有什么关系?事件的本质是什么?委托的本质又是什么?由于.net 做了大量的封装,对于初学者,这两个概念确实不怎么好理解。事件是用户与应用程序交互的基础,它是回调机制的一种应用。举个例子,当用户点击按钮时,我们希望弹出一句“您...
阅读全文
posted @ 2015-11-02 15:39 我是攻城狮
阅读(1069)
评论(0)
推荐(4)
编写轻量ajax组件02-AjaxPro浅析
摘要: 前言 上一篇介绍了在webform平台实现ajax的一些方式,并且实现一个基类。这一篇我们来看一个开源的组件:ajaxpro。虽然这是一个比较老的组件,不过实现思想和源码还是值得我们学习的。通过上一篇的介绍,我们知道要调用页面对象的方法,就是靠反射来实现的,关键是整个处理过程,包括反射调用方法、参...
阅读全文
posted @ 2015-11-02 09:08 我是攻城狮
阅读(1923)
评论(0)
推荐(1)
2015年10月30日
委托
摘要: 前言 委托和事件是c#基础中两个重要的知识,平时工作中也会经常用到。接下来我会写两篇我对委托和事件的理解,欢迎拍砖。 回调函数是一种非常有用的编程机制,许多语言都对它提供了支持。回调函数是一个通过函数指针调用的函数。通常,我们会把回调函数作为参数传递给另一个函数,当某些事件发生或满足某些条件时,...
阅读全文
posted @ 2015-10-30 11:43 我是攻城狮
阅读(4108)
评论(4)
推荐(2)
2015年10月15日
静态构造函数
摘要: 先看一道常见题目,以下代码的执行结果是什么? class A { public static int X = B.Y + 1; static void Main(string[] args) { Console.Writ...
阅读全文
posted @ 2015-10-15 19:46 我是攻城狮
阅读(6049)
评论(1)
推荐(0)
2015年10月12日
编写轻量ajax组件01-对比webform平台上的各种实现方式
摘要: 前言 Asp.net WebForm 和 Asp.net MVC(简称MVC) 都是基于Asp.net的web开发框架,两者有很大的区别,其中一个就是MVC更加注重http本质,而WebForm试图屏蔽http,为此提供了大量的服务器控件和ViewState机制,让开发人员可以像开发Windows...
阅读全文
posted @ 2015-10-12 10:38 我是攻城狮
阅读(1751)
评论(3)
推荐(2)
2015年9月30日
记一道笔试题
摘要: 题目 4=1 + 1 + 1 + 1 =1 + 1 + 2 =1 + 3 =2 + 2 比如数字 4 可以被拆解成为如上的四种情况。那么现在给你一个vector> 把所有的结果全部的保存到这个vector>中。函数的函数体,应该是这个样子的: vector>&fun(intn){//函数...
阅读全文
posted @ 2015-09-30 14:24 我是攻城狮
阅读(799)
评论(0)
推荐(0)
下一页
公告