QuickStart下的CommandFilter项目 github上自己修改过的版本
2015-03-18 21:52
281 查看
http://docs.supersocket.net/v1-6/zh-CN/Command-Filter
命令筛选的例子
从CommandFilterAttribute派生出新的命令筛选类,然后将这些派生出来的类,放到命令类的上方[]
最后在执行命令的时候会触发
OnCommandExecuting 和OnCommandExecuted方法,这2个方法需要在派生类中重写
具体分析:
首先一个Server类
[CountCommandFilter]//Global command filter
public class MyAppServer : AppServer<MyAppSession>
然后有2个命令类
[LogTimeCommandFilter]
public class LOGIN : StringCommandBase<MyAppSession>
[LoggedInValidationFilter(Order = 0)]
[LogTimeCommandFilter(Order = 1)]
public class QUERY : StringCommandBase<MyAppSession>
然后有3个命令筛选类
public class CountCommandFilter : CommandFilterAttribute
public class LoggedInValidationFilter : CommandFilterAttribute
public class LogTimeCommandFilter : CommandFilterAttribute
其中CountCommandFilter 作为全局的命令筛选
LOGIN 有一个显式的命令筛选[LogTimeCommandFilter]
Query有2个显式的命令筛选[LoggedInValidationFilter(Order = 0)]和[LogTimeCommandFilter(Order = 1)]
它们都具有隐式的全局命令筛选CountCommandFilter
所以最后在执行命令的时候:
Login命令只会触发2个命令筛选
而Query命令会触发3个命令筛选
命令筛选的例子
从CommandFilterAttribute派生出新的命令筛选类,然后将这些派生出来的类,放到命令类的上方[]
最后在执行命令的时候会触发
OnCommandExecuting 和OnCommandExecuted方法,这2个方法需要在派生类中重写
具体分析:
首先一个Server类
[CountCommandFilter]//Global command filter
public class MyAppServer : AppServer<MyAppSession>
然后有2个命令类
[LogTimeCommandFilter]
public class LOGIN : StringCommandBase<MyAppSession>
[LoggedInValidationFilter(Order = 0)]
[LogTimeCommandFilter(Order = 1)]
public class QUERY : StringCommandBase<MyAppSession>
然后有3个命令筛选类
public class CountCommandFilter : CommandFilterAttribute
public class LoggedInValidationFilter : CommandFilterAttribute
public class LogTimeCommandFilter : CommandFilterAttribute
其中CountCommandFilter 作为全局的命令筛选
LOGIN 有一个显式的命令筛选[LogTimeCommandFilter]
Query有2个显式的命令筛选[LoggedInValidationFilter(Order = 0)]和[LogTimeCommandFilter(Order = 1)]
它们都具有隐式的全局命令筛选CountCommandFilter
所以最后在执行命令的时候:
Login命令只会触发2个命令筛选
而Query命令会触发3个命令筛选
相关文章推荐
- [版本控制]如何在GitHub上下载自己喜欢的开源代码并提交修改
- 分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目
- 分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目
- Mac升级git版本 以及 使用git和github管理自己的项目---基础操作学习
- 分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目
- [版本控制]如何在GitHub上下载自己喜欢的开源代码并提交修改
- sdk---修改android项目sdk版本的方法
- 如何在github上fork一个项目来贡献代码以及同步原作者的修改
- [Github] 把自己做完的代码提交(commit以及push)到线上公共项目中
- 修改VS2010的VC.net项目 framework对应版本
- 平日你的一些不能成为项目自己的小脚本是会选择上传到pypi还是github? - V2EX
- 怎样修改项目.NET FRamework版本
- 如何修改TOMCAT的默认主页为你自己项目的主页 (WEB开发)
- 修改项目android的jar包版本
- 【关于git与github.com】在github搭建自己的项目repository
- 修改Tomcat欢迎界面为自己项目界面 localhost进入你部署的项
- 小记录:如何编译打版本自己的项目
- 自己根据“XDOWNPAGE ASP版本”分页程序修改(添加前十页,后十页功能)
- 自己的版本关于真假问题的修改
- 如何修改Android项目运行时需要的SDK版本